ASP.NET MVC4でWeb APIアプリケーションを作成するのは初めてです。新しいWeb APIプロジェクトを開き、「Product」という名前の新しいコントローラーを追加しました。以下の関数は、見つからないエラー名前空間を示しています。
public IHttpActionResult GetProduct(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
誰でもこの問題を解決するのを手伝ってくれますか?
Asp.Net 4.0を使用しているため、IHttpActionResultは名前空間System.Web.Httpバージョン4.0では使用できないため、名前空間をバージョン5.0.0.0に更新する必要があります。参照でSystem.Web.Http名前空間を右クリックし、プロパティに移動して、名前空間のバージョンを確認できます。これを更新するには、ソリューションプロジェクトを右クリックして、[ソリューションのNuGetパッケージを管理]、[Asp.Net WebAPI 2を検索]、[Asp.Net WebAPI 2を選択して、[管理]をクリックします。また、更新タブで使用できるかどうかを確認できます。更新タブで使用できる場合は、そこから更新できます。それが完了したら、参照のSystem.Web.Http名前空間のプロパティに移動してバージョンを確認します。
これは私にとってはうまくいきますし、あなたにとってもうまくいくと思います。
ありがとう
ソース管理からプロジェクトをチェックアウトすると、同様の問題が発生しました。
プロジェクトにMicrosoft ASP.NET Web API 2への参照がありましたが、プロジェクトをコンパイルできませんでした。
解決策は、パッケージマネージャーコンソールを使用してパッケージを再インストールすることでした。
PM> update-Package Microsoft.AspNet.WebApi –reinstall
IHttpActionResult参照エラーを解決するには、NuGetを使用して参照を追加し、Web API2 Core lib。dllをインストールします
ソリューションエクスプローラーの参照で右クリックし、[nugetパッケージの管理]を選択します。 (ない場合は、nugetをインストールします)
左側の[NuGetパッケージの管理]ウィンドウでオンラインをクリックし、右上でAPI 2.1を検索して、Microsoft ASP.NET Web API 2.1コアライブラリをインストールします。 (インストールボタンをインストールすると、緑色のチェックに変わります)
その後、プロジェクトがリロードされ、再度ビルドされると、IHttpActionResult参照エラーが解決され、プロジェクトが正常にビルドされます。あなたの質問は良かったし、助けてくれました。この答えがお役に立てば幸いです!
IHttpActionResultのネームスペースを取得するには、このリンクで確認してください およびすべて。
このパッケージには、IISでASP.NET Web APIをホストするために必要なすべてが含まれています。 ASP.NET Web APIは、ブラウザーやモバイルデバイスを含む幅広いクライアントに到達するHTTPサービスを簡単に構築できるフレームワークです。 ASP.NET Web APIは、.NET Framework上でRESTfulアプリケーションを構築するための理想的なプラットフォームです。
Microsoft ASP.NET Web API 2をインストールするには、パッケージマネージャーコンソールで次のコマンドを実行するか、NuGetパッケージを管理します
PM>インストールパッケージMicrosoft.AspNet.WebApi -Version 5.0.0
同様の問題が発生し、再インストールするとこの問題が解決します。 Visual Studio 2013の[ツール]> [NuGetパッケージマネージャー]> [パッケージマネージャーコンソール]に移動し、以下を書き留めます。
PM> update-Package Microsoft.AspNet.WebApi –reinstall
次に、ソリューションをクリーンアップし、ソリューションをビルド/再ビルドします。
注:私の場合、プロセスはWeb.configファイルとpackages.configファイルを明示的にチェックアウトし、System.Web.Http dllファイルも削除しました。
このソリューションは私のために働いた:
ツール–>ライブラリパッケージマネージャー->パッケージマネージャーコンソール、次に入力:
インストールパッケージMicrosoft.AspNet.WebApi -Version 5.0.0
update-Package Microsoft.AspNet.WebApi –reinstall
参照: http://blog.bitlinkit.com/type-namespace-ihttpactionresult-not-found/
使用しようとしている機能はWeb API 2の一部です。MVC4を使用していると述べたので、MVC 5とWeb API 2への参照をアップグレードすることを期待します。
これらの機能の詳細については、 http://www.strathweb.com/2013/06/ihttpactionresult-new-way-of-creating-responses-in-asp-net-web- api-2 /
私の場合、System.Web.Http
をバージョン5.0.0.0に更新した後、この問題を修正するためにIDEを再起動する必要がありました。
NuGetを使用してWeb API2 Core libをインストールします。 dll。 API2の一部のコンポーネントは古いNugetパッケージと互換性がないため、Web API2をインストールする前にNugetを更新する必要がある場合があります。このようにして、問題は解決しました。
この問題は、Visual Studio 2015の使用を開始した最近の2つのプロジェクトで発生するようです。プロジェクトは、mvcおよびweb apiコンポーネントを備えたASP.Net MVC 5 Webサイトです。更新プログラムを実行し、不要なnugetパッケージをクリーンアップした後、別の同様のプロジェクトから定型コードをコピーしましたが、IHttpActionResultとRouteAttributeが見つからないという同じ問題がありました。
この問題は、プロジェクト参照で参照されているSystem.Web.Http.dllのバージョンが正しくないことが原因でした。デフォルトでは、アセンブリのシステムGACバージョンが使用されます。
これを修正するには、単にこの参照を削除し、Nugetパッケージフォルダーの同じアセンブリへの参照を追加します。[プロジェクトフォルダー]\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http .dll
最初に、Microsoft.AspNet.WebApi.Core nugetパッケージの必要なバージョンに更新されていることを確認する必要があります。