【发布时间】:2012-02-07 14:25:14
【问题描述】:
我有一个名为“Foo”的 DLL 项目,它引用了 Newtonsoft.Json 4.0.7。 我有第二个 DLL 项目,称为“Bar”,引用“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 时,警告消失了。所以我猜重定向只适用于可执行文件。
如何在我的场景中消除该警告?
【问题讨论】: