【发布时间】: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