"Foo"と呼ばれるDLLプロジェクトがあり、Newtonsoft.Json 4.0.7を参照しています。 私は "バー"と呼ばれる "Foo"を参照し、Newtonsoft.Json 4.0.5を参照している2番目のDLLプロジェクトを持っています。さまざまな理由から、Newtonsoft.Jsonの両方のバージョンを変更することはできません。DLLプロジェクトのbindingRedirectを防止する方法 - 警告MSB3247:競合が見つかりました
私はこれをコンパイルしていたとき、私はプロジェクト「バー」にこの警告が出ます:
は、だから私は、プロジェクト "バー" でのapp.configを作成しました:警告MSB3247:同じ依存アセンブリの異なるバージョン間で見競合。
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0-4.0.7" newVersion="4.0.5"/>
</dependentAssembly>
しかし、警告を防ぐことはできませんでした。
今興味深いのは、「バー」プロジェクトをDLLからコンソールに変更すると、警告が消えることです。だから私は、リダイレクトは、実行可能ファイルのためだけに動作すると思います。
どのように私のシナリオでこの警告を取り除くことができますか?
" 4.0.5が必要で、 "Foo"には4.0.7が必要です。 "Foo"は外部的なのでバインディングを変更できません。 "Bar"は4.0.5が必要なRavenDBを参照しています。 – lanwin