Newtonsoft.Json 版本 8.0.2 无法加载文件或程序集错误
Newtonsoft.Json version 8.0.2 Could not load file or assembly Error
我正在尝试在 Web API 解决方案中解析 Class 库中的 JSON 文件。它是一个常规的 C# Class 库,而不是便携式库。
我已经尝试了每一个答案mentioned here,但还是不行!我一直收到同样的错误:
Could not load file or assembly 'Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, 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;
}
我正在修复我的 Windows Phone 8 个解决方案之一中的一些旧代码,并考虑更新 NuGet 包,但遇到了同样的问题。
StivOstenberg here 的评论帮助我解决了这个问题。
这是我做的:
- 删除了 NuGet 包。只需单击 NuGet 管理器中的 'Uninstall'。 确保分别从解决方案中的每个项目中删除它。
- 清洁解决方案。重建解决方案。
- 现在,从整个解决方案中删除 using 语句!可以通过在 'Entire Solution'.
上使用 Newtonsoft.Json 快速查找和替换 来完成
- 重复步骤 2。(忽略错误)
- 从 NuGet 管理器再次添加包并构建 (Ctrl+Shift+B)。
- 最后(几乎),对于显示的每个错误,转到特定页面并再次添加引用。
- 重复步骤 2 和 运行。
可能有一些多余的步骤,但这正是我所做的,并且奏效了。希望对你也有帮助。
确保父程序集中没有冲突的 Newtonsoft 版本!
在子程序集中我想使用 Newtonsoft.Json.8.0.3.
StartUp 项目是一个 MVC5 网络应用程序。在那里,我使用了 BundleTransformer.Less.X.X.X,它依赖于 Newtonsoft.Json.8.0.2。 升级 NewtonSoft.Json 到 8.0.3(现在都是同一个版本)帮我解决了。
我正在尝试在 Web API 解决方案中解析 Class 库中的 JSON 文件。它是一个常规的 C# Class 库,而不是便携式库。
我已经尝试了每一个答案mentioned here,但还是不行!我一直收到同样的错误:
Could not load file or assembly 'Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, 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;
}
我正在修复我的 Windows Phone 8 个解决方案之一中的一些旧代码,并考虑更新 NuGet 包,但遇到了同样的问题。
StivOstenberg here 的评论帮助我解决了这个问题。
这是我做的:
- 删除了 NuGet 包。只需单击 NuGet 管理器中的 'Uninstall'。 确保分别从解决方案中的每个项目中删除它。
- 清洁解决方案。重建解决方案。
- 现在,从整个解决方案中删除 using 语句!可以通过在 'Entire Solution'. 上使用 Newtonsoft.Json 快速查找和替换 来完成
- 重复步骤 2。(忽略错误)
- 从 NuGet 管理器再次添加包并构建 (Ctrl+Shift+B)。
- 最后(几乎),对于显示的每个错误,转到特定页面并再次添加引用。
- 重复步骤 2 和 运行。
可能有一些多余的步骤,但这正是我所做的,并且奏效了。希望对你也有帮助。
确保父程序集中没有冲突的 Newtonsoft 版本!
在子程序集中我想使用 Newtonsoft.Json.8.0.3.
StartUp 项目是一个 MVC5 网络应用程序。在那里,我使用了 BundleTransformer.Less.X.X.X,它依赖于 Newtonsoft.Json.8.0.2。 升级 NewtonSoft.Json 到 8.0.3(现在都是同一个版本)帮我解决了。