2016-08-17 11 views
8

私はWindowsフォームアプリケーションにclickonceを使用しています。いくつかのリソースアセンブリを展開する必要があります。これらのアセンブリは、プロジェクトのフォルダにあります(参照用ではありません)。それらはBuildAction = contentとCopyToOutputDir = Copy If Newerとマークされます。このコンフィグレーションで警告が表示されますMSB3178: Assembly '' is incorrectly specified as a file.Visual Studio Build Supress/Disable/Solveを有効にする警告

BuildActionをnoneに設定すると、警告は表示されなくなりますが、展開する必要のあるアセンブリはClickOnceアプリケーションファイルには表示されません。

この警告を表示せずに、これらのdllをプロジェクトの参照として追加せずに、clickonceのパブリケーションにこれらのアセンブリ(多くのものがあります)を追加したいと思います。私は多くを研究し、警告を無効にする解決策を見つけることができませんでした。

編集:

警告は、私は "プロジェクト/プロパティ/セキュリティタブ"

サンプルプロジェクトで= "True" を "ClickOnceのセキュリティ設定を有効" に設定した場合にのみ表示されます:

Click to download the sample project

警告を作成して確認してください。

+0

'BuildAction'を' content'に設定する代わりに 'none'に置き、' CopyToOutputDir'を 'CopyAlways'に変更してみてください。 –

+0

こんにちは@ThorstenDittmar!私はそれをしましたが、アセンブリは1度クリックしてアプリケーションファイル(プロジェクト/プロパティ/パブリッシュタブ)に表示されません:/ –

+0

私の質問を編集しました。 –

答えて

6

MSBuildの警告を抑制することは、です。まだは実行できません。

MSBuildで警告がスローされます。現在、MSBuildの警告を抑制することはできません。

参考:https://social.msdn.microsoft.com/Forums/vstudio/en-US/96b3ea2e-92ed-4483-bbfe-a4dda3231eb9/suppress-msb4126?forum=tfsbuildあなたがたとえば、あなたの.csprojファイルのPropertyGroupに抑えることができるいくつかあります

< ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>なし</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>

しかしなしがファイルという警告として誤って指定されています。


サードパーティ製DLLのファイル拡張により、MSB3178の根本原因を解決できないため、その特定の警告を無視するという正当な理由があります。

関連するスレッドhereおよびhereおよびMSDNです。 MSDNのまったく同じ質問です。

+0

こんにちはジェレミートンプソン、答えてくれてありがとう。ここに問題を公開する前に、あなたが投稿したこれらのリンクを調べました。私は本当にこれらの警告をどうにかして抑えることができると考えました。本当の問題は、同じ問題について140件の警告があることです。重要な警告が表示されると、彼は何百もの他の人の間にいます。この警告を抑制できませんが、あまりにも不便です。 –

+0

私は知っている、それは本当に残念であり、私は私の研究が解決策をもたらしたことを望むが、私も同じ理解に来た。イントロスペクションでもこれを行うことはできません!もう1つ考えてみると、私の2番目の "賞金返済"によるVS AddInです。しかし、この要求にも黒い魔法の答えが必要です...あなた自身の研究をここで繰り返すことを申し訳ありません。 –

+0

私はあなたの注意のために非常に感謝しています@ジェレミートンプソン。 予期されていないことは不可能な非常に一般的なシナリオがあります。私のコード(dllimport)からアンマネージアセンブリを使用していて、それを公開しなければならないとします。この警告なしでどうすればいいですか?好奇心... –

関連する問題