私は現在このガイドに従っています-> asp.net Webサイトへのリンク
ガイドにあるように、必要なすべてのパッケージを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
ガイドのコメントを確認しましたが、このエラーは記載されておらず、エラーも解決できません。私は何が間違っているのですか?
私はちょうどこの問題を抱えていました。非常にイライラします。
コードページの上部にあるリファレンスにこれを追加することで解決しました
using System.Web.OData.Extensions;
メソッドを右クリックしても、解決メニュー項目は表示されませんでした。
すべてを再インストールしても、何も解決しませんでした。
MapODataServiceRouteはRoutes Collectionで使用できるため、以下のコードで使用できます
config.Routes.MapODataServiceRoute(
"odata",
null,
GetEdmModel(),
new DefaultODataBatchHandler(GlobalConfiguration.DefaultServer));
OData V3の場合
using System.Web.Http.OData.Builder;
_と_using System.Web.Http.OData.Extensions;
_を追加しますconfig.Routes.MapODataServiceRoute(...)
のように使用しますOData V4の場合
using System.Web.OData.Builder;
_と_using System.Web.OData.Extensions;
_を追加しますconfig.MapODataServiceRoute(...)
のように使用しますWebApi Wordで立ち往生しないでください、どちらもWeb API用です。
Microsoft.AspNet.OData 7.0.0
にアップグレードした場合、探している名前空間は次のとおりです。
using Microsoft.AspNet.OData.Extensions;
MapODataServiceRoute
は拡張メソッドです。したがって、それを使用するには、その名前空間への参照が必要です。私にとっては、以下を参照することで修正されました。
using System.Web.Http.OData.Extensions;
パッケージマネージャーコンソールを開き、デフォルトのプロジェクトをエラーメッセージが表示されたプロジェクトに設定して、これを修正しました。
Install-Package Microsoft.AspNet.WebApi.OData