无法加载文件或程序集"Newtonsoft.Json"或其依赖项之一

sha*_*wat 10 .net c# asp.net-mvc json json.net

首先,它不仅仅是重复.以下问题的答案都不适用于我.

http://goo.gl/tS40cn
http://goo.gl/pH6v2T

我刚刚使用Nuget Package Manager更新了所有软件包,我开始收到此错误.

无法加载文件或程序集"Newtonsoft.Json,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed"或其中一个依赖项.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我的包裹配置有:

<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />
Run Code Online (Sandbox Code Playgroud)

Web.config包含这段代码:

  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
  </dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

来自参考的属性 Newtonsoft.Json

在此输入图像描述

根据类似问题的答案,我尝试了以下方法:

  • 使用重新安装包 Update-Package –reinstall Newtonsoft.Json
  • dependentAssemblyWeb.configfor中删除配置Newtonsoft.Json
  • 更改newVersion6.0.0.07.0.0.0dependentAssembly.这样做会产生新的错误.
  • 也试过了Get-Project -All | Add-BindingRedirect.它改变newVersionNewtonsoft.Json4.5.0.0.但问题仍未得到解决.

请帮我解决这个问题.

Cas*_*ton 14

我知道这是旧的,但我遇到了同样的问题.我的问题是解决方案中的多个项目使用了Newtonsoft.Json,但有些项目的版本不同.我将所有这些更新到最新版本(我打字时为9.0.1),问题就消失了.

无论如何......如果有人还在处理这个问题,请确保在解决方案中的每个项目中更新包.

HTH


小智 0

在包管理器控制台中运行此命令:

PM> Install-Package Newtonsoft.Json -Version 6.0.1
Run Code Online (Sandbox Code Playgroud)