2012-02-07 13 views
4

"Foo"と呼ばれるDLLプロジェクトがあり、Newtonsoft.Json 4.0.7を参照しています。 私は "バー"と呼ばれる "Foo"を参照し、Newtonsoft.Json 4.0.5を参照している2番目のDLLプロジェクトを持っています。さまざまな理由から、Newtonsoft.Jsonの両方のバージョンを変更することはできません。DLLプロジェクトのbindingRedirectを防止する方法 - 警告MSB3247:競合が見つかりました

私はこれをコンパイルしていたとき、私はプロジェクト「バー」にこの警告が出ます:

警告MSB3247:同じ依存アセンブリの異なるバージョン間で見競合。

は、だから私は、プロジェクト "バー" でのapp.configを作成しました:

<dependentAssembly> 
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/> 
    <bindingRedirect oldVersion="0.0.0-4.0.7" newVersion="4.0.5"/> 
</dependentAssembly> 

しかし、警告を防ぐことはできませんでした。

今興味深いのは、「バー」プロジェクトをDLLからコンソールに変更すると、警告が消えることです。だから私は、リダイレクトは、実行可能ファイルのためだけに動作すると思います。

どのように私のシナリオでこの警告を取り除くことができますか?

答えて

0

別のNewtonSoft.Json dllバージョンにアクセスしますか?ない? configsからブロックを削除し、すべて正常に動作します。

+0

" 4.0.5が必要で、 "Foo"には4.0.7が必要です。 "Foo"は外部的なのでバインディングを変更できません。 "Bar"は4.0.5が必要なRavenDBを参照しています。 – lanwin

0

メッセージMSB3247を受信し、除外されたDLLプロジェクトをソリューションに再読み込みする問題を解決しました。プロジェクトには除外されたDLLへの参照がありましたが、DLLの以前のコンパイルされたバージョンがありました。問題が発生した可能性があります - とにかくもう一度動作します( - :
私はそれが役に立ちそうです

関連する問題