我有一个叫做“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