WebAPI OData无法加载microsoft.data.odata版本= 5.6.0.0

yu *_*ian 2 c# nuget asp.net-web-api

当我使用VisualStudio 2013构造Asp.Net WebAPI时,添加

Web API 2 OData控制器,具有使用实体框架的操作

在此处输入图片说明

添加成功后,我运行API,然后发生错误?

无法加载文件或程序集“ Microsoft.Data.OData,版本= 5.6.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040)

怎么解决呢?

yu *_*ian 5

我花了很长时间尝试,似乎找到了解决方案?

1.打开工具>库包管理器>管理Nuget包以获取解决方案

并搜索“数据”一词将显示:

在此处输入图片说明

2.如错误所示 Microsoft.Data.OData, Version=5.6.0.0" Could not load,您可以发现这里 Microsoft.Data.OData安装了name OdataLib for OData v1-3,但是它的版本是5.6.3而不是5.6.0.0。

3.因此,现在管理它并取消选中所有项目以将其卸载,但是您将遇到错误Microsoft.AspNet.WebApi.OData 5.0.0 depends on it,因此应首先将其卸载Microsoft.AspNet.WebApi.OData 5.0.0

在此处输入图片说明

4.然后卸载其他三个软件包,它们的ID为:

Microsoft.Data.OData
Microsoft.Data.Edm
System.Spatial
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

5.重新安装 Microsoft.Data.OData -Version 5.6.0

https://www.nuget.org/packages/Microsoft.Data.OData/5.6.0

使用软件包管理器控制台

安装软件包Microsoft.Data.OData-版本5.6.0

然后三个橙色将重新安装与版本5.6.0.0

在此处输入图片说明

6.重新安装 Microsoft.AspNet.WebApi.OData 5.0.0

https://www.nuget.org/packages/Microsoft.AspNet.WebApi.OData/5.0.0

使用软件包管理器控制台

安装软件包Microsoft.AspNet.WebApi.OData-版本5.0.0

7.然后,我可以正确运行API