C# 升级包后的程序集冲突

C# 升级包后的程序集冲突,c#,visual-studio-2013,msbuild,C#,Visual Studio 2013,Msbuild,我有一个一键式的程序,项目a,它引用类库项目B。项目B有一个Json.net版本4.5.0.0,升级到7.0.0.0。在构建项目A时,我收到错误消息: 无法解决“Newtonsoft.Json,Version=7.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”与“Newtonsoft.Json,Version=4.5.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”之间的冲突。任意选

我有一个一键式的程序,项目a,它引用类库项目B。项目B有一个Json.net版本4.5.0.0,升级到7.0.0.0。在构建项目A时,我收到错误消息:

无法解决“Newtonsoft.Json,Version=7.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”与“Newtonsoft.Json,Version=4.5.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”之间的冲突。任意选择“Newtonsoft.Json,Version=7.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”。

考虑将程序集“Newtonsoft.Json,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”从版本“4.5.0.0”[C:\Program Files(x86)\Microsoft Visual Studio 12.0\Blend\Newtonsoft.Json.dll]重新映射到版本“7.0.0.0”[[projectpath]\Newtonsoft.Json.dll]以解决冲突并消除警告。

C:\Program Files(x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5):警告MSB3276:发现同一依赖程序集的不同版本之间存在冲突。请在项目文件中将“AutoGenerateBindingRedirects”属性设置为true。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=294190.

我已经清理了解决方案中的每个项目并重建了它们。我已经关闭/打开VS,重新清理,重建,同样的事情。手动删除obj+bin文件夹,同样的事情

我已经将Settings/Publish/Application Files菜单更改为json.net包含/排除的所有变体

最后,我在Sublime中全局搜索了4.5.0.0(VS并没有找到所有内容),除了项目A创建的清单文件中的json.net引用之外,几乎什么都没有找到。我似乎找不到一个关于旧图书馆的挥之不去的参考资料,但它总是在建造时出现在清单中


我已经通过在.csproj的相关
中添加
true
解决了我的问题,但我不确定它为什么有效。有人能解释一下发生了什么事吗?这是解决此问题的一种糟糕方法吗?

不将其作为答案发布,因为它可能不起作用。。。但是看看这个。这似乎是由于更改了.NET的解决方案版本,而不是特定的包。