2015-08-13 5 views
0

Имея насторить WebAPI OData конечных точек, делая это ...WebAPI OData v4 Функция регистрации

http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint

Затем я попытался добавить функцию в соответствии с «Пример: Добавление функции» раздел в нижней части это ...

http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/odata-actions-and-functions

я ударил немного проблемы, как вызов метода «builder.EntityType()» не существует, а все остальное и работает нормально.

Есть ли какая-то особая зависимость, о которой я не знаю? Я использую версию 5.6.0 (последняя стабильная версия) пакета OData v4 из nuget и компилирует в .Net 4.6.

EDIT: Я пытался обновить ссылку на 5.7.0-RC сборки пакета OData, но это решить либо, вот немного мы заботимся о с моей packages.config ...

<packages> 
    <package id="EntityFramework" version="6.1.3" targetFramework="net46" /> 
    <package id="Microsoft.AspNet.OData" version="5.7.0-rc" targetFramework="net46" /> 
    <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" /> 
    <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebApi.Cors" version="5.2.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" /> 
    <package id="Microsoft.Data.Edm" version="5.6.4" targetFramework="net46" /> 
    <package id="Microsoft.Data.OData" version="5.6.4" targetFramework="net46" /> 
    <package id="Microsoft.OData.Core" version="6.13.0" targetFramework="net46" /> 
    <package id="Microsoft.OData.Edm" version="6.13.0" targetFramework="net46" /> 
    <package id="Microsoft.Spatial" version="6.13.0" targetFramework="net46" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" /> 
    <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net46" /> 
</packages> 

Я использую несколько других вещей, таких как ninject, чтобы сделать некоторые вещи, но я не включил их здесь, чтобы держать вопрос коротким.

+0

подробнее о вашем пакете, например package.config? –

+0

Там вы идете :) ... это помогает? – War

+0

Является ли «builder.EntityType()» в вашем вопросе небольшой разницей с реальным кодом, выполняющим «builder.EntityType <>()»? –

ответ

0

Оказалось, что по какой-то причине была версия 5.5.1.0 пакета в моей папке bin, которую он выбирал, несмотря на сборку привязки, чтобы сообщить ей использовать более позднюю версию 5.7.0.0.

Кроме того, чтобы действительно бардак с головой Microsoft переместились кучу вещей вокруг, и некоторые с помощью заявления должны были быть изменены в моем классе (возможно, почему мой код использует старую версию) ...

Старый usings :

using Microsoft.Data.Edm; 
using System.Web.Http.OData.Builder; 

Новые usings:

using Microsoft.OData.Edm; 
using System.Web.OData.Builder; 
using System.Web.OData.Extensions; 

это, вероятно, стоит отметить, что, поскольку прохождение игры не имеет никакого упоминания о usings или номера версии, он просто говорит: «ш e используется OData v4 "... полезно как всегда!

Мне пришлось прорываться через источник кода, чтобы найти ответ, но в основном это пошаговое руководство основано на 5.7.0.0 или более поздней версии пакета.

Смежные вопросы