2017-01-20 7 views
0

Я новичок в веб-API ASP.NET и хочу сделать экземпляр HttpResponseMessage из класса полезности, который я создал. Тогда я сделал очень простой класс.Почему я не могу использовать класс HttpResponseMessage?

Но после ошибки компиляции произошла ошибка.

CS0246: тип или пространство имен имя «HttpResponseMessage» не может быть найдено (вы пропали без вести с помощью директивы или ссылка на сборку?)

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, но не мой класс Utility.

Что мне не хватает?

+0

Этот класс помещен в другой проект, отличный от вашего проекта API? –

+0

Вы можете использовать его, если вы добавите соответствующую ссылку на сборку. Сообщение об ошибке объясняет так же. Проверьте [документацию] (https://msdn.microsoft.com/en-us/library/system.net.http.httpresponsemessage (v = vs.118) .aspx) для класса и добавьте соответствующую сборку. Это прямо рядом с жирным тегом 'Assembly:' сразу после заголовка –

+0

@IzzetYildirim это тот же проект. –

ответ

1

Я заметил, что вы разместили свой класс в папке App_Code в своем проекте. This folder has a special purpose в мире ASP.NET и должен использоваться для общих классов и бизнес-объектов, которые вы хотите скомпилировать как часть вашего приложения. Поэтому либо переместите свой класс в другую папку, либо измените его Build Action в разделе свойств на Compile.

+0

Работает. Благодаря! –

+0

Добро пожаловать! :) –