Newtonsoft.Json FileLoadException

时间:2014-08-20 21:20:23

标签: c# json asp.net-mvc-4 json.net asp.net-web-api2

这个错误让我发疯!

以下是错误消息:

[FileLoadException:无法加载文件或程序集' Newtonsoft.Json'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT的例外情况:0x80131040)]

我有一个使用.NET Framework 4.5.1的WebApi和Web项目。我的应用程序成功构建,但是当我运行Web应用程序时,我收到上面的错误消息。我尝试了很多我在Google和Google上发现的东西。关于此错误的Stackoverflow但没有成功。

packages.config - <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net451" />

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

我尝试删除Newtonsoft.Json.dll并重新添加它,但我仍然遇到同样的错误。

我很感激所有帮助,试图解决这个问题。

1 个答案:

答案 0 :(得分:0)

Newtonsoft.Json作为默认MVC / WebAPI项目的一部分包含在packages.config中。

该软件包也包含在packages目录中,但由于某些原因,NuGet软件包管理器似乎并不知道它已安装。

我通过以下方式解决了这个问题:

  1. 右键单击解决方案。选择&#34;管理解决方案的NuGet包&#34;。
  2. 选择&#34;已安装&#34;在左边,检查是否已安装Json.NET(在我的情况下,它不是')。
  3. 如果安装了Json.NET,请查看是否有更新并应用它。
  4. 如果未安装Json.Net,请选择&#34; Online&#34;在左边,搜索&#34; Newtonsoft.Json&#34;在右上方。
  5. 包名称将读取Json.Net。选择“安装”按钮,让它完成工作。它将修改web.config和packages.config。