牛顿json版本问题,运行webapi项目

时间:2017-04-23 18:30:47

标签: c# json.net nuget

运行webapi应用程序时出现这个恼人的错误。我正在使用newton JSON - 版本9.01。

  

{“无法加载文件或程序集'Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(异常)来自HRESULT:0x80131040)“:”Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed“}

我的项目.netFramework是4.0。为了帮助解决这个问题,我添加了一个依赖程序集:

<assemblyIdentity name="Newtonsoft.Json"
    publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />

和我的项目package.config

<package id="Newtonsoft.Json" version="9.0.0.0" targetFramework="net40" />

两者都是平等但我仍然得到错误。为什么会这样?这很奇怪,因为我的错误消息显示不同的程序集版本。我已经更新了newtonjson 9.0.0并且正在使用它,但是错误会有所不同。 我已经尝试安装newtonjson 6.0.0,然后包管理器控制台抛出错误:

  

无法找到包'Newtonsoft.Json'的版本'6.0.1'。

有时当降级到较低版本的newton json时,C#依赖性已经不支持或者像它显示的那样安装。 我该怎么办?我是安装nuget pakages的新手。感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

包管理器控制台中的

项目更新:在pakage manager console中关闭目标项目并重新安装Newton soft并进行重建

Update-Package Newtonsoft.Json -Reinstall

答案 1 :(得分:0)

您的解决方案是否有多个针对不同版本的Newtonsoft.Json的项目?右键单击解决方案并管理NuGet包。如果Newtonsoft.Json出现在Consolidate选项卡中,则更新项目以使用相同的版本。