我正在尝试在Web API解决方案中解析类库中的JSON文件。它是一个普通的C#类库,而不是Portable类。
我已经尝试了每一个答案mentioned here,但它仍然不起作用!我一直得到同样的错误:
无法加载文件或程序集“Newtonsoft.Json,Version = 8.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (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;
}
答案 0 :(得分:5)
我在我的一个Windows Phone 8解决方案中修复了一些旧代码,并考虑更新NuGet软件包并遇到同样的问题。
StivOstenberg的评论here帮助我解决了这个问题。
这就是我所做的:
可能有一些冗余的步骤,但这正是我所做的,并且它有效。希望它也能帮到你。
答案 1 :(得分:0)
确保父程序集中没有冲突的Newtonsoft版本!
在子程序集中,我想使用Newtonsoft.Json.8.0.3。
StartUp项目是一个MVC5 Web应用程序。在那里我使用BundleTransformer.Less.X.X.X,它依赖于Newtonsoft.Json.8.0.2。 升级 NewtonSoft.Json到8.0.3(现在所有版本都相同)为我解决了这个问题。