Ошибка config.MapODataServiceRoute
В настоящее время я следую этому руководству → Ссылка на сайт asp.net
Как говорится в руководстве, я добавил все необходимые пакеты через консоль nuget и добавил необходимые файлы в файл WebApIConfig., Но когда я добавил метод регистра конечной точки, VS дал мне ошибку.
Добавленный метод:
public static void Register(HttpConfiguration config)
{
// New code:
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Product>("Products");
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: null,
model: builder.GetEdmModel());
}
Ошибка VS дала мне:
Error 1 'System.Web.Http.HttpConfiguration' does not contain a definition for 'MapODataServiceRoute' and no extension method 'MapODataServiceRoute' accepting a first argument of type 'System.Web.Http.HttpConfiguration' could be found (are you missing a using directive or an assembly reference?) C:\Users\rvcamp\Desktop\odataTest\odataTest\App_Start\WebApiConfig.cs 29 20 odataTest
Я проверил комментарии руководства, но эта ошибка не упоминается, также я также не могу решить эту ошибку. Что я делаю не так?
Ответы
Ответ 1
У меня была эта проблема. Очень расстраивает.
Я решил это, добавив это в ссылки в верхней части кодовой страницы
using System.Web.OData.Extensions;
При щелчке правой кнопкой мыши метод не вызывал пункт меню разрешения.
Переустановка всего не помогла мне.
Ответ 2
MapODataServiceRoute доступен в коллекции маршрутов, поэтому ниже код будет
config.Routes.MapODataServiceRoute(
"odata",
null,
GetEdmModel(),
new DefaultODataBatchHandler(GlobalConfiguration.DefaultServer));
Ответ 3
MapODataServiceRoute
- метод расширения. Поэтому для его использования требуется ссылка на его пространство имен. Для меня это было исправлено путем ссылки:
using System.Web.Http.OData.Extensions;
Ответ 4
ДЛЯ OData V3
- Установите Microsoft.AspNet. WebApi.ODatali >
- Добавить
using System.Web.Http.OData.Builder;
и using System.Web.Http.OData.Extensions;
- используйте как
config.Routes.MapODataServiceRoute(...)
ДЛЯ OData V4
- Установить Microsoft.AspNet.ODatali >
- Добавить
using System.Web.OData.Builder;
и using System.Web.OData.Extensions;
- используйте как
config.MapODataServiceRoute(...)
Не зацикливайтесь на слове WebApi, они оба предназначены для веб-api.
Ответ 5
Я исправил это, открыв консоль менеджера пакетов, установив проект по умолчанию проекту, который дал сообщение об ошибке, а затем:
Install-Package Microsoft.AspNet.WebApi.OData