2017-03-07 53 views
1

AnyCpuモードでアプリケーションを開発しています。アプリケーションは、実行モードに応じて実行時に正しく解決するネイティブライブラリを使用します。Visual Studio 2015で警告MSB3187を無視する方法

コンパイルするには、インターフェイスが変更されないため、両方のライブラリのいずれかを使用しますが、MSB3187の警告が表示されます(これは正しいが、ここでは適用されません)。

無効にする方法はありますか?私たちは、維持したい警告なしできれいなビルドを持つ方針を持っています。

+0

http://stackoverflow.com/a/24425571/17034 –

+0

@HansPassantを助けることができる

ホープ:あなたはVS2017の答えに私を指していますか?それが起こるかどうかは分かりますか? –

+0

いいえ、私はVS2015でそれをテストし、正常に動作します。それは今日起こる。これらは自分で簡単に見つけ出すことができ、無力ではないようにしてください。 –

答えて

1

のMSBuildエラーMSB3187のためのMSDN文として:(MSIL)ニュートラルに設定され、参照されるアセンブリが中立でない、またはアプリケーションの場合はされて

この警告が発生した場合、アプリケーションのターゲットプラットフォーム(プロセッサアーキテクチャ)アーキテクチャは中立ではなく、依存性は中立です。また、両方がプラットフォームに中立でない場合、そのアーキテクチャは一致する必要があります。さらに、アプリケーションアーキテクチャとエントリポイントアセンブリアーキテクチャは常に一致する必要があります。

アプリケーションは「任意のCPU」と互換性がありますが、プロジェクトまたはx86またはx64のDLLアセンブリに依存する必要があります。 Visual Studioはこの機能を提供します。

警告を消すには、アプリケーションのターゲットプラットフォーム(プロセッサアーキテクチャ)が参照されているすべてのアセンブリとエントリポイントアセンブリアーキテクチャと一致することを確認する必要があります。これはあなた

+0

このプロパティは、VSから警告を削除しますが、ビルドマシンのMSBuildコンパイルからは削除されません。\その他の情報は、実行時にネイティブDLLの正しいバージョンを解決してロードします。 –

+0

@Ignacio Soler Garcia、そのプロパティを確認するための「MSB」エラーを再現できなかったため、私はそれを確認できるまでプロパティのこの部分を無効にして回答を更新します。 –

関連する問題