Newtonsoft.Json版本8.0.2无法加载文件或程序集错误

本文关键字:文件 加载 程序集 错误 版本 Json Newtonsoft | 更新日期: 2023-09-27 18:30:12

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

我试过这里提到的每一个答案,但仍然不起作用!我一直收到同样的错误,那就是:

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

这是代码:

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;
}

Newtonsoft.Json版本8.0.2无法加载文件或程序集错误

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

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

这就是我所做的:

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

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

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

在一次儿童集会上,我想使用Newtonsoft.Json.8.03。

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