2017-01-20 12 views
0

私はASP.NET Web APIを初めて使い、HttpResponseMessageインスタンスを私が作成したユーティリティクラスから作りたいと思っています。それから私はとてもシンプルなクラスを作った。なぜ私はHttpResponseMessageクラスを使用できませんか?

しかし、次のコンパイルエラーが発生しました。

CS0246:型または名前空間名「HttpResponseMessage」は が見つかりませんでした(?あなたがusingディレクティブまたはアセンブリ参照が不足している)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net.Http; 
using System.Web; 

namespace myapplication.App_Code.Utils 
{ 
    public class HttpUtility 
    { 
     // compile error here 
     public HttpResponseMessage GetHttpResponseMessage() 
     { 
      return new HttpResponseMessage(); 
     } 
    } 
} 

HttpResponseMessageは、コントローラクラスから提供されていますASP.NETでは自動的に作成されましたが、私のユーティリティクラスは作成されませんでした。

私には何が欠けていますか?

+0

このクラスは、あなたのAPIプロジェクトとは異なるプロジェクトに配置されていますか? –

+0

適切なアセンブリ参照を追加する必要があります。エラーメッセージはそれほど説明していません。クラスの[documentation](https://msdn.microsoft.com/en-us/library/system.net.http.httpresponsemessage(v = 118).aspx)をチェックし、適切なアセンブリを追加してください。それは見出しの直後の大胆な 'Assembly:'タグのすぐ隣にあります。 –

+0

@IzzetYildirimこれは同じプロジェクトです。 –

答えて

1

あなたのクラスをプロジェクトのApp_Codeフォルダに配置したことに気づきました。 ASP.NET世界ではThis folder has a special purposeであり、アプリケーションの一部としてコンパイルする共有クラスとビジネスオブジェクトに使用する必要があります。クラスを別のフォルダに移動するか、またはプロパティセクションのBuild ActionCompileに変更します。

+0

ありがとう! –

+0

あなたは大歓迎です! :) –

関連する問題