无法解析 Web API OData 端点的 MapODataRoute

atc*_*way 6 odata asp.net-web-api

我正在尝试为我的 Web API 服务配置 OData 端点,但无法解析该MapODataRoute方法。根据本教程,有关要求的说明如下:

ASP.NET 和 Web Tools 2012.2 更新Microsoft ASP.NET Web API OData NuGet 包。

我安装了当前的 ASP.NET 和 Web Tools 2012.2 更新(已卸载 RC 版本并安装最新版本),所以我的项目应该足够了。

但是我无法跳过以下代码行:

config.Routes.MapODataRoute("ODataRoute", "odata", model);
Run Code Online (Sandbox Code Playgroud)

...由于以下异常:

“System.Web.Http.HttpRouteCollection”不包含“MapODataRoute”的定义,并且找不到接受“System.Web.Http.HttpRouteCollection”类型的第一个参数的扩展方法“MapODataRoute”(您是否缺少 using 指令或装配参考?)

我相信,如果我安装 NuGet 包,此消息就会解决(安装它也没什么大不了的),但我认为所有 OData 支持都已汇总到“ASP.NET 和 Web Tools 2012.2 更新”中,因此不需要 NuGet包裹?有谁知道为什么MapODataRoute没有解决或我需要哪个参考?

Vla*_*mir 2

来自同一个教程:

如果您安装了 ASP.NET 和 Web Tools 2012.2 Update,则 Web API 项目模板会自动包含 OData 包。

因此,检查项目的 nuget 包,是否存在 odata 包。

可能是,您安装了新版本的 ASP.NET 和 Web Tools,然后打开旧项目。我怀疑仅当您在安装 ASP.NET 和 Web Tools 2012.2 Update 后创建项目时,才需要手动添加 odata 包。