繁体   English   中英

ASP.NET MVC 4 WebAPI PostAsJsonAsync Newtonsoft.Json错误

[英]ASP.NET MVC 4 WebAPI PostAsJsonAsync Newtonsoft.Json error

在我的MVC 4 Web API项目中停止工作。 找不到Newtonsoft.Json。 运行此代码后:

 Dim response As HttpResponseMessage = MyHttpClient.PostAsJsonAsync("Api/Test", MyObject).Result

我收到消息错误:

System.Net.Http.Formatting.dll中发生了类型为'System.IO.FileLoadException'的未处理异常

附加信息:无法加载文件或程序集“ Newtonsoft.Json,版本= 4.5.0.0,区域性=中性,PublicKeyToken = 30ad4fe6b2a6aeed”或其依赖项之一。 找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)

我知道MS现在将其用作默认的JSON序列化程序-并且已被引用。 我尝试从NuGet更新Newtonsoft.Json,但找不到它; 我找到“ Json.Net”。 所以我用包管理器控制台重新安装

Update-Package Newtonsoft.Json –Reinstall

但是仍然不起作用。 有人知道为什么会出错吗?

似乎您正在使用一些过时的库,该库依赖于旧版本的JSON.NET。 您可以尝试安装它的特定版本:

Update-Package Newtonsoft.Json -Version 4.5.11

如果此操作告诉您其他软件包需要较新版本的JSON.NET,那么您将需要通过升级正在使用且取决于JSON.NET 4.5的过时的库来解决此冲突。

尝试在<runtime><assemblyBinding>中的web.config文件中添加此部分:

<dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
      </dependentAssembly>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM