[解決済み】警告。同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
質問
現在、20のプロジェクトで構成される.NETアプリケーションを開発中です。これらのプロジェクトの中には、.NET 3.5を使ってコンパイルされているものもあれば、まだ.NET 2.0のプロジェクトもあります(今のところ問題なし)。
問題は、外部コンポーネントをインクルードすると、常に次のような警告が表示されることです。
同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
また、この警告を除外することは可能でしょうか?
解決方法は?
この警告は、2つのプロジェクトが同じアセンブリを参照していることを意味します(例.
System.Windows.Forms
が、2つのプロジェクトは異なるバージョンを必要とします。いくつかのオプションがあります。
-
すべてのプロジェクトを再コンパイルして同じバージョンを使用する(たとえば、すべてを.Net 3.5に移行する)。これは、すべてのコードが、コンパイルされた依存関係のバージョンで実行されるため、好ましいオプションです。
-
を追加します。 バインディングリダイレクト . これにより、警告は抑制されます。しかし、.Net 2.0 プロジェクトは (実行時に) .Net 3.5 バージョンの依存アセンブリにバインドされます。
System.Windows.Forms
. Visual Studioでエラーをダブルクリックすると、すぐにバインディングリダイレクトを追加することができます。 -
使用方法
CopyLocal=true
. これで警告が抑えられるかどうかはわかりません。上記のオプション 2 と同様に、すべてのプロジェクトで System.Windows.Forms の .Net 3.5 バージョンが使用されることになります。
ここで、問題のある参照を特定する方法をいくつか紹介します。
- にあるようなユーティリティを使用することができます。 https://gist.github.com/1553265
- もう一つの簡単な方法は、Build 出力冗長性(ツール、オプション、プロジェクトとソリューション、ビルドと MSBuildプロジェクトのビルド出力の冗長性、詳細)。 ビルドし、出力ウィンドウで警告を検索し、その警告が表示されているところを見ます。 のすぐ上のテキストをご覧ください。 (ハットヒント パウロ屋 で提案してくれた。 のコメント) .
関連
-
[解決済み] <Database> コンテキストを支えるモデルが、データベース作成後に変更されました。
-
[解決済み] Html.BeginForm()にCSSクラスを追加する。
-
[解決済み] .Netの配列のLongLengthの目的は何ですか?
-
[解決済み] CryptographicException「キーセットが存在しない」、ただしWCF経由に限る
-
[解決済み] パッケージのダウングレード警告を検出(dotnet core, vs 2017)
-
[解決済み] RelativeSourceでWPFバインディングを使用するにはどうしたらいいですか?
-
[解決済み] System.Timers.Timer vs System.Threading.Timer
-
[解決済み] MSB3247 の解決 - 同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
-
[解決済み] アセンブリ 'netstandard, Version=2.0.0.0' への参照を追加する必要があります。
-
[解決済み】型のイニシャライザーを見つけると、なぜNullReferenceExceptionがスローされるのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】この動詞型ではcontent-bodyを送信できない
-
[解決済み】コンパイラーエラーメッセージ。コンパイラはエラーコード -532462766 で失敗しました。
-
[解決済み] WCF エラーの解決。このサービスのメタデータパブリッシングは現在無効になっています。
-
[解決済み] C++/CLIにおけるキャレット('^')の意味は?
-
[解決済み] 24:00:00 を超える値を持つ .Net Timespan を格納するための正しい SQL タイプは何ですか?
-
[解決済み] .NET Framework 4 マルチターゲティングパックがアンインストールできない
-
[解決済み] Microsoft.ACE.OLEDB.12.0' プロバイダがローカルマシンに登録されていません。
-
[解決済み] PowerShellで文字列がNULLまたは空であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] MSB3247 の解決 - 同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
-
[解決済み] [Solved] ファイルまたはアセンブリ 'Newtonsoft.Json' またはその依存関係の 1 つをロードできませんでした。マニフェストの定義がアセンブリの参照と一致しません。