![](/img/trans.png)
[英]Could not load file or assembly Newtonsoft.Json in Docker container, ASP.NET 6
[英]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.