无法加载文件或程序集' Newtonsoft.Json,Version = 10.0.0.0' - 但bin文件夹

时间:2017-05-09 16:45:20

标签: c# .net json reference dependencies

我想在这里做一些非常简单的事情,而且我已经坚持了几个小时。我觉得我已经筋疲力尽了几乎所有的选择。

我所要做的就是: JsonConvert.SerializeObject(model)

但是,产生的错误是:

  

抛出异常:' System.IO.FileLoadException'在mscorlib.dll中

     

其他信息:无法加载文件或程序集' Newtonsoft.Json,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = 982hs0cm1kd'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)

但是,在我的项目中,我引用的是10.0.0.0版。更具体地说,10.0.2.0。当我检查项目的bin文件夹时,我可以验证10.0.2.0 dll是否存在。在packages.config中,我有<package id="Newtonsoft.Json" version="10.0.2" targetFramework="net452" />

我尝试过的事情:

  1. 从项目中手动删除bin / obj文件夹并重建
  2. 手动修改Web.Config文件以确保绑定重定向中的版本正确。
  3. 更新参考资产&#39;特定版本&#39;为假
  4. 手动删除C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root
  5. 中的所有文件

    我真的被困在这里,我可以看到这是一个常见的问题,因为我找到了许多不同的方法来修复它,但到目前为止还没有任何方法。

    有什么想法吗?

2 个答案:

答案 0 :(得分:2)

在包管理器控制台中执行:Update-Package -reinstall Newtonsoft.Json。

source

答案 1 :(得分:2)

刚遇到类似的问题。我的网站和引用的项目(我假设组装相同)都需要Newtonsoft.Json,但它们的版本略有不同。

似乎该网站已经获胜,因此该网站安装了该版本,并且所引用的程序集未能加载&#34;它&#34;&#34;版本

确保所有项目都具有相同的版本(管理解决方案的NuGet包)并且工作。