【问题标题】:Newtonsoft.Json version 8.0.2 Could not load file or assembly ErrorNewtonsoft.Json 版本 8.0.2 无法加载文件或程序集错误
【发布时间】:2016-04-18 13:43:16
【问题描述】:

我正在尝试在 Web API 解决方案中解析类库中的 JSON 文件。它是一个常规的 C# 类库,而不是 Portable 类库。

我已经尝试了每个答案mentioned here,但它仍然不起作用!我不断收到同样的错误:

无法加载文件或程序集“Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)":"Newtonsoft.Json,版本=8.0.0.0,文化=中性,PublicKeyToken=30ad4fe6b2a6aeed

代码如下:

public IList<BranchRM> AllBranches()
{
    var result = new List<BranchRM>();
    var dataSourcePath = AppDomain.CurrentDomain.BaseDirectory + "Data/branches.json";
    var dataAsText = File.ReadAllText(dataSourcePath);
    if (string.IsNullOrEmpty(dataAsText)) return result;
    var branchList = JsonConvert.DeserializeObject<List<Branch>>(dataAsText);
    result = AutoMapper.Mapper.Map<List<BranchRM>>(branchList);
    return result;
}

【问题讨论】:

  • 您尝试过通过Nuget 重新安装Newtonsoft.Json 吗?
  • 是的,通过Update-Package Newtonsoft.Json -Reinstall,仍然没有工作。
  • 您可以直接添加对Newtonsoft.Json.dll的引用,无需Nuget。它与Solution 位于Packages 文件夹下的同一目录中。
  • 谢谢@tchelidze 我刚刚做了,但仍然得到同样的错误:(
  • 最近更新了Newtonsoft.Json 包吗?可能它缓存在GAC 中,VS 尝试从GAC 加载,但由于版本不匹配(GAC 存储的版本比您当前引用的旧版本),您会收到以下错误。尝试在GAC中找到Newtonsoft.Json并删除。

标签: c# .net json .net-assembly


【解决方案1】:

我在我的一个 Windows Phone 8 解决方案中修复了一些旧代码,并考虑更新 NuGet 包,但遇到了同样的问题。

来自 StivOstenberg here 的评论帮助我解决了这个问题。

这就是我所做的:

  1. 删除了 NuGet 包。只需从 NuGet 管理器中单击“卸载”。 确保将其从解决方案中的每个项目中单独删除
  2. 清洁溶液。重建解决方案。
  3. 现在,从整个解决方案中删除 using 语句!可以通过在“整个解决方案”上使用 Newtonsoft.Json 快速查找和替换来完成。
  4. 重复步骤 2。(忽略错误)
  5. 从 NuGet 管理器和构建中再次添加包 (Ctrl+Shift+B)。
  6. 最后(几乎)对于显示的每个错误,转到特定页面并再次添加参考
  7. 重复第 2 步并运行。

可能会有一些多余的步骤,但这正是我所做的,并且有效。希望对你也有帮助。

【讨论】:

    【解决方案2】:

    确保父程序集中没有冲突的 Newtonsoft 版本!

    在子程序集中,我想使用 Newtonsoft.Json.8.0.3。

    StartUp 项目是一个 MVC5 网络应用程序。在那里,我使用了 BundleTransformer.Less.X.X.X,它依赖于 Newtonsoft.Json.8.0.2。 升级 NewtonSoft.Json 到 8.0.3(现在都是相同的版本)为我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2011-09-04
      • 2015-12-23
      • 2020-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多