警告:た紛争の間で異なるバージョンの同じ依存の組み立て

StackOverflow https://stackoverflow.com/questions/17806

  •  09-06-2019
  •  | 
  •  

質問

私は現在開発。NETアプリケーションから構成される20。一部のプロジェクトの作成。純3.5、その他。純2.0プロジェクト(これまでにない問題)。

問題はそのまま外付け部品も取得し、以下の警告:

"Found conflicts between different versions of the same dependent assembly".

これらは一体何を意味警告を意味とはありうる可能性を除外するこの警告などを使#pragmaを無効にするソースコードファイル)?

役に立ちましたか?

解決

この警告この二つのプロジェクト参照が同じ組立例 System.Windows.Forms が、二つのプロジェクトとは異なる。お持ちの複数のオプション:

  1. 再コンパイルすべてのプロジェクトのバージョン(例えば移動させます。純3.5).一般的に、このオプションですべてのコードが実行のバージョンの依存関係のためです。

  2. を追加 結合リダイレクト.これを抑制する警告が表示されます。しております。純2.0プロジェクト(ランタイム時において)拘束されることになります。純3.5バージョン依存のアセンブリなどの System.Windows.Forms.ることができ追加で拘束力のあるリダイレクトをダブルクリックすることによりエラー時にVisual Studio.

  3. 使用 CopyLocal=true.くなった場合はこれを抑制する警告が表示されます。そのようなオプション2以上が使われるということである全てのプロジェクトを使用。純3.5版システム。Windowsの場合です。ます。

こちらはカップルの方法の特定に違反した参照(s):

  • 使用などの一つ https://gist.github.com/1553265
  • もう一つの簡単な方法は、セットの構築 出力レベル(工具、オプション、プロジェクトとソリューションの構築 ラMSBuildプロジェクトを構築出力レベル、詳細後 ビル、検索、出力ウィンドウの警告の顔を見てください。 テキストだけでさまでそびえているからです。 (帽子の先端を pauloya 人がこの コメントこの答).

他のヒント

基本的にはこのアセンブリだけを参照して"コピー地元の"設定"True"とコピーのDLLはbinフォルダおexe.

以来、Visual Studioのままコピーのすべての依存関係の参照組み立ても可能で終わるの異なる二つのビルドと同一の組立てを引用しなければならない。このような場合にプロジェクトを別のソリューション、切であると認めた場合、そのとりまとめます。

のん頂いていますので、ちょっとした用の設定をコピーし地場合は、参照組み立てます。みんなのための実行可能ファイル/webアプリケーションが必要な場所での組立、完成品です。

こう!

しようと思ったのはpauloyaソリューション提供のコメントする。であると考えているのにベストソリューションの侵しています。

最も簡単な方法を見ついては、"違反した参照(s)"が セット構築の出力レベル(工具、オプションのプロジェクト、ソリューション、 の構築および実行するには、MSBuildプロジェクトを構築出力レベル、詳細) 建築後、検索の出力ウィンドウに表示されます。のテキスト 上します。

例えば、検索するときに、出力パネル"紛争"すべて思ったこと。

3>  There was a conflict between "EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
3>      "EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" was chosen because it was primary and "EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" was not.

ご覧のとの間に矛盾が生じEFバージョン5-6.

また、同じ問題も、そのため、高エネルギーのための警告が表示されます。を確認しました詳細な構築logfileを使ってAsmSpyを検証することは正しいバージョンは、各プロジェクトの影響を受け液、ダブルチェック、実際のエントリに各プロジェクトファイルも手助けになるかもしれません。

最終的にこの問題があった入れ子の依存関係を参照いただ一つのプロジェクト.この参照内の(A)に必要なバージョンの異なるコミュニケーションした直接参照される全てのプロジェクトは私た。更新の基準を参照されるプロジェクトを解決します。

Solution A
+--Project A
   +--Reference A (version 1.1.0.0)
   +--Reference B
+--Project B
   +--Reference A (version 1.1.0.0)
   +--Reference B
   +--Reference C
+--Project C
   +--Reference X (this indirectly references Reference A, but with e.g. version 1.1.1.0)

Solution B
+--Project A
   +--Reference A (version 1.1.1.0)

私は上記は現在表示されているっていうか、私の夫婦の時間に書ききれなかった部分とともに、いかに利益をしています。

Visual Studioの場合は右クリックし 管理nugetパッケージ 人にもぴっ "統合" タブを設定するすべてのパッケージが同じバージョン。

これだったこの警告メッセージおよび洗浄に溶液の再コンパイル(ビルド>クリーン液ですっかりなくなりました。

いたるとともに、同誌掲載号の注目やって解決を変えるのです。config.

始めたときはパニックだったので私は、アプリケーションで実行さをNewtonsoft.Json4.0

<dependentAssembly>
  <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>

<dependentAssembly>
  <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="4.5.0.0" />
</dependentAssembly>

この実によって異なり外部部品です。ときに参照する外部コンポーネント.NETアプリケーションを生成することであると特定部品です。このエラーが発生した場合は、外付け部品によって参照される一つのプロジェクトと同じ名前とは異なるバージョンに対して他のどの成分もます。

することがありご利用の際は"閲覧"を参照メモリの使用範囲のサイズは間違いバージョンの組立や、バージョンの異なるコンポーネントのコードリポジトリとしての設置を行います。

いうプロジェクトってこれらの紛争、外部からの参考文献リストを追加しくいることを指摘し、同じファイルです。

いつもないということでご利用の場合Nuget管理の依存関係.私は見ることがVS Nugetんで良しのNugetできないと認識するプロジェクトは。のパッケージ。configと言うことになるとひとつのパスを示す文献-特性を示さないこと、地下鉄からも近くて便利。

さえすれば、更新ご依存関係は、次の操作を行います:

  1. からのソリューションエクスプローラを右クリックしてプロジェクトをクリックし管理 Nugetパッケージ'

  2. 選択し設置パッケージ"タブ画面左側に記録さ パッケージがありますのァイルをコピーします。configを デスクトップ初のいく中でのクロスチェックで GoogleかNuget pkgs設置

  3. アンインストールパッケージ。そOK、私たちが発展していくために追加します。

  4. すぐにしてパッケージをインストールする何Nugetませんの最新バージョンで変更ご参照、また追加のリダイレクトに結合します。

  5. このためのすべてのプロジェクト.

  6. のソリューションレベルで、清潔でしまいます。

から始めるのはどうでしょう、下のプロジェクトや作品に高いレベルのものを再構築の各プロジェクトを順番に行なってください。

されない場合、アップデートの依存関係を、そのまま使用のパッケージマネージャーのコンソール用の書式を更新パッケージ-ProjectName[yourProjectName][パッケージ名]バージョン[versionNumber]

=>チェックがありますインスタンスの申請設置されております。

=>まずアンインストールするインスタンスからアンインストールす。

=>その後、クリーンの再構築、展開している。

この解決は私の課題です。希望です。最い申し上げます。

またこの問題に私の場合ことにより発生の特定のバージョン"プロパティ参照の数を設定します。変化するこfalseの場合はその参照を解決の問題です。

こう。一dll参照された回:一直(参照)、一度は間接的になる(参照する別のプロジェクト参照).取り出して、その直接参照し、洗浄&再建されます。問題を修正。

  1. オープン"ソリューションエクスプローラ".
  2. 表示"をクリックし、すべてのファイル"
  3. の拡大"参考文献"
  4. ただ一つ以上の参考として、多少異なるアイコン以上についてご覧いただけます。一般的に、黄色のボックスがご覧いただけますよう、ご注意です。ん取り外してください。
  5. 追加の参照を返およびコンパイルのコードです。
  6. ることはありません。

私の場合、問題がありましたMySQLを参考にした。なんだか、リストをモチーフにしたオリジナでのリストで利用可能なすべての参照;ます。純2.0,.net4.0ます。純4.5.ついていった過程で1日6以上です。

もう一つ考えるとチェックさんがいないサービスのトレーニングの利用binフォルダにまとめた。い場合はサービスを停止することが再構築の解決

があるように見える問題Mac Visual Studioを編集する場合.resxファイルです。んですが、何が起こったかを知り、私はこの問題などで編集である。resxファイルを自分のMacです。私のプロジェクトWindowsのファイルおよび討を行った場合といった編集します。んで編集し、保存、およびすべての始まりで、活動を再Macす。

あったかなどの問題が私のプロジェクトへの参照NETStandardLibraryの参照されるアセンブリしたnetcore.を出版してnetstandardと題したい

を使用する場合はNuGetいた

  1. 右クリックしてプロジェクトをクリックし管理NuGetパッケージ..

  2. をクリックし、右上の歯車

  3. クリック全般]タブにNuGetパッケージマネージャー上のパッケージ源

  4. チェック"をスキップ用bindingリダイレクト"にリダイレクトに結合

  5. クリーンを再建し、警告のた

簡単peasy

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top