C# 可查询属性不明确引用错误

C# 可查询属性不明确引用错误,c#,linq,C#,Linq,在向api项目添加[System.Web.Http.Queryable]属性时,我遇到了不明确的引用错误 The type 'System.Web.Http.QueryableAttribute' exists in both 'c:\..\packages\Microsoft.AspNet.WebApi.OData.4.0.0\lib\net40\System.Web.Http.OData.dll' and 'c:\Program Files\Microsoft ASP.NET\ASP.NET

在向api项目添加[System.Web.Http.Queryable]属性时,我遇到了不明确的引用错误

The type 'System.Web.Http.QueryableAttribute' exists in both 'c:\..\packages\Microsoft.AspNet.WebApi.OData.4.0.0\lib\net40\System.Web.Http.OData.dll' and 'c:\Program Files\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Web.Http.dll'

但在我的例子中,我需要两个DLL,如何解决这个问题?

当您在.NET缓存中获取旧程序集时,有时会发生这种情况。 尝试清除这些文件夹的内容:

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ASP.NET临时文件 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\临时ASP.NET文件 C:\Windows\Microsoft.NET\Framework\v4.0.30319\临时ASP.NET文件
C:\Windows\Microsoft.NET\Framework\v2.0.50727\临时ASP.NET文件

您可以按以下方式使用

using ODATA = System.Web.Http.OData;
using HTTP = System.Web.Http;

然后您可以相应地引用您的类型…

我刚刚卸载了mvc4并安装了它,现在它工作正常。我认为这个问题是因为下面dll的版本控制

c:\Program Files\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Web.Http.dll

安装最新的WebApi,它将删除导致冲突的旧WebApi

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


引用Http.queryablesystem.Web.Http.queryables时存在两个引用。您的项目中是否有对错误中提到的两个库的引用?如果是这样的话,您应该只有一个。是的,我有,但我需要两个DLL中的类和方法。这里发布了一个类似的问题:……您可以尝试创建一个仅引用其中一个库的不同项目。然后,在原始项目中,您可以引用第二个库和您的“包装器”项目