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

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

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

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

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

我的包裹配置有:

 

Web.config包含这段代码:

      

来自Reference for Newtonsoft.Json属性

在此处输入图像描述

根据类似问题的答案,我尝试过以下几点:

  • 使用Update-Package –reinstall Newtonsoft.Json重新安装软件包
  • Web.configNewtonsoft.Json删除dependentAssembly配置
  • dependentAssembly newVersion更改为6.0.0.0newVersion 。 这样做会产生新的错误。
  • 还尝试了Get-Project -All | Add-BindingRedirect Get-Project -All | Add-BindingRedirect 。 它将Newtonsoft.Json4.5.0.0更改为4.5.0.0 。 但问题仍未得到解决。

请帮我解决这个问题。

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

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

HTH

在我的MVC项目中添加Newtonsoft引用为我解决了这个问题。

在尝试了上述大部分内容(以及其他一些post)之后,我从包管理器中卸载了受影响项目的所有以下内容:

 Microsoft.AspNet.WebApi Microsoft.AspNet.Client Microsoft.AspNet.Core Microsoft.AspNet.WebHost Newtonsoft.Json 

然后重新安装了Microsoft.AspNet.WebApi,它自动安装.Client,。Core,。WebHost,.Json。

运行Update-Package Newtonsoft.Json -Reinstall

它应该删除对4.5版本的引用,并重新安装package.config中引用的较新版本。 它还将更新绑定重定向,然后应该如下所示:

     

由于您在问题中说过您已尝试过此操作,因此您可能需要尝试手动删除现有参考。 您可能还希望确保文件在磁盘上不是只读的,或者由源控件锁定。

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

 PM> Install-Package Newtonsoft.Json -Version 6.0.1 
  1. 在VS解决方案资源管理器中,删除Newtonsoft.Json引用。
  2. 在此处下载Newtonsoft二进制文件中的6.0二进制文件
  3. 提取文件
  4. 手动添加Newtonsoft库。 在Visual Studio中,右键单击“参考”并选择“添加引用”
  5. 单击“浏览”
  6. 导航到Net45下的解压缩文件,然后选择Newtonsoft.Json.dll
  7. 如果它不起作用尝试使用Net40而不是再次完成整个过程。

在我的例子中,以下代码存在于我的解决方案的本地调试版本中,但不存在于我的实时服务器版本的代码中。 将代码添加到我的服务器Web.config文件修复了该问题。

            

我自己有这个错误,并且首先使用Update-Package –reinstall Newtonsoft.Json -IncludePrerelease它不起作用,然后使用Install-Package Newtonsoft.Json 。 有效。

将配置更改为如下所述:

检查项目参考中的’Newtonsoft.Json’版本。 在Web配置中添加该版本。 它会工作。 例如:您的Webconfig如下所示:

     

如果您在References中的版本是’9.0.0.0’,请更改为: