2011-07-27 20 views
0

サードパーティのアセンブリを使用して.NET 3.5アプリケーションを展開しようとしています。 ClickOnceセットアッププログラムを問題なく作成できます。私はセットアップを実行しようとすると、しかし、私はこのメッセージが表示されます。ここではClickOnceエラー:マニフェストIDに1つ以上の無効な文字が含まれています

Cannot Start Application: Cannot continue. The application is improperly formatted. Contact the application vendor for assistance.

は、エラーログの重要な部分である:

ERROR SUMMARY 
    Below is a summary of the errors, details of these errors are listed later in the log. 
    * Activation of <my application path>.application resulted in exception. Following failure messages were detected: 
     + Exception reading manifest from file <my application path>.exe.manifest: the manifest may not be valid or the file could not be opened. 
     + Application manifest is not semantically valid. 
     + Manifest identity has one or more invalid characters: ABISFoundationSDK_C#. 

あなたが見ることができるように、SDKのID名がポンドを持っています(#)サインインしてください。シャープ記号を削除するためにSDKアセンブリのIDを変更できる方法はありますか?サードパーティプロバイダがアセンブリにこの変更を加えることはほとんどありません。

答えて

1

どのように展開にdllを追加しましたか?それを追加してマニフェストを編集しましたか?

展開してサードパーティのアセンブリを含めるための最良の方法はこれです:

プロジェクトにアセンブリを追加します。ビルドアクションを 'none'に設定し、「出力ディレクトリにコピー」を「コピーしない」に設定します。次に、そのアセンブリに対して持っている参照を削除します。参照を再追加し、プロジェクト内のそのローカルコピーをポイントします。参照プロパティで "copy local"を "true"に設定します。

プロジェクト内のアセンブリへの直接参照がない場合は、プロジェクトに追加し、ビルドアクションを「コンテンツ」および「出力ディレクトリにコピー」を「常にコピーする」に設定します。

本当にあなたの問題の原因となっている八角形であれば、名前を変更できますか?実際にアセンブリの名前に#が付いていますか?

+0

私はあなたの推薦を試みましたが、私はまだマニフェストの八角形に関するエラーを受け取ります。私がdllの名前を変更しても、8角形はファイル内のどこかにある(アイデンティティフィールドの?)問題を引き起こしています。しかし、助けてくれてありがとう。 – blueshift

関連する問題