我有一個叫做「Foo」的DLL項目,它引用了Newtonsoft.Json 4.0.7。 而我有第二個叫做「Bar」的DLL項目,引用「Foo」並且引用Newtonsoft.Json 4.0.5。由於各種原因,不可能改變兩者的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>
但並未阻止警告。
現在有趣的一點是,當我將「Bar」項目從DLL更改爲控制檯時,警告消失。所以我想重定向只適用於可執行文件。
如何在我的方案中擺脫該警告?
正如我所說,「酒吧」需要4.0.5和「Foo」需要4.0.7「Foo」是一個外部的,所以我不能改變它的綁定。「Bar」引用RavenDB需要4.0.5工作,配置塊不會改變任何東西。 – lanwin 2012-02-07 19:32:05