我有一个名为“Foo”的DLL项目,它引用了Newtonsoft.Json 4.0.7。 我有一个名为“Bar”的第二个DLL项目,引用“Foo”并引用Newtonsoft.Json 4.0.5。由于种种原因,不可能改变两者的Newtonsoft.Json版本。
当我编译它时,我在项目“Bar”上收到此警告:
警告MSB3247:发现同一依赖程序集的不同版本之间存在冲突。
所以我在项目“Bar”中创建了一个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更改为Console时,警告消失。所以我想重定向只适用于可执行文件。
如何摆脱我的情景中的警告?
答案 0 :(得分:0)
您想要访问不同的NewtonSoft.Json DLL版本吗?不?从配置中删除块,一切正常。
答案 1 :(得分:0)
此错误可能会有不同的情况,
我收到消息MSB3247并解决了将重新加载排除的DLL项目重新加载到我的解决方案的问题。该项目引用了被排除的DLL,但是有以前编译的DLL版本,可能会导致问题 - 无论如何现在它再次起作用( - :
我希望它有所帮助