如何解决两个JSON.net存在的冲突?

Kyl*_*yle 12 c# json.net visual-studio-2013

我在我的解决方案中的所有项目中更新了json.net,并在收到此错误后:

类型'Newtonsoft.Json.JsonConvert'存在于'\ packages\Newtonsoft.Json.6.0.1\lib \net45\Newtonsoft.Json.dll'和'c:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \混合\ Newtonsoft.Json.dll

为什么它试图从Blend文件夹加载json.net,我该如何解决这个问题?

谢谢.

Sam*_*ack 28

在我的情况下,问题是在我的项目中有两个不同版本的Newtonsoft.Json.dll引用.通过查看解决方案树视图中的引用,这一点并不明显:您必须检查csproj文件.

解决这个问题:

  1. 在Visual Studio中右键单击该项目,然后选择"卸载项目"
  2. 在MSBuild文件中搜索对Newtonsoft.Json的引用
  3. 删除引用旧版本的库
  4. 右键单击该项目并重新加载它.

  • 我现在有一个第三方 SDK DLL 导致我的解决方案中出现此错误。它使用的是较旧版本的 Newtonsoft.Json.JsonConvert - 我应该如何处理?我的代码已经建立了很长时间,并且有很多对此的引用,不得不强制我的代码使用旧版本对我来说是可怕的。 (2认同)
  • Felipe Oriani,我在 2019 年;) 我通过编辑我的 .csproj 文件并删除对 Newtonsoft 的旧引用解决了这个问题 (2认同)
  • 现在已经是 2020 年了,我也遇到了同样的问题。我有一个引用版本 12 的项目,但在较大的解决方案中引用的一些来自 Microsoft 的 NuGet 包仍然引用 Newtonsoft 版本 6.0,合并时会出现此错误。如果我删除 Microsoft 软件包,它就会消失,但我无法构建更大的项目。目前还没有解决办法。 (2认同)