Не удалось найти имя типа или пространства имен (отсутствует директива использования или ссылка на сборку?)

С этим кодом:

using System.Web.Http;
class MyClass : IHttpActionResult
{ ... }

Я получаю сообщение об ошибке:

Не удалось найти имя типа или пространства имен «IHttpActionResult» (вам не хватает директивы using или ссылки на сборку?)

Как показано здесь интерфейс IHttpActionResult определен в System.Web.Http.

Что не так?


person Pietro    schedule 05.10.2016    source источник
comment
В вашем проекте есть ссылка на System.Web.Http.dll?   -  person 15ee8f99-57ff-4f92-890c-b56153    schedule 05.10.2016
comment
Вам необходимо добавить пакет веб-API NuGet.   -  person Igor    schedule 05.10.2016
comment
@Igor: я уже добавил.   -  person Pietro    schedule 05.10.2016
comment
Вы восстановили свои пакеты? Если вы развернете ссылки в Visual Studio, вы увидите список всех библиотек, на которые есть ссылки, без индикаторов их отсутствия.   -  person Igor    schedule 05.10.2016
comment
Как насчет выбранного фреймворка для проекта (в свойствах проекта). Вы выбрали .Net Framework 4 Client Profile?   -  person Igor    schedule 05.10.2016
comment
Я выбрал .Net Framework 4.5.2. В списке у меня есть .Net Framework 4 Client Profile, но нет .Net Framework 4.5.2 Client Profile.   -  person Pietro    schedule 05.10.2016
comment
@EdPlunkett: Да, выбрано. Но я сомневаюсь в версии. У меня 4.0.0 (выбрано) и 5.2.3 с .Net Framework версии 4.5.2. Должен ли я установить версию, соответствующую версии .Net Framework?   -  person Pietro    schedule 05.10.2016
comment
@Pietro IIRC вы согласны с более низкой версией .NET в библиотеке, чем версия вашего проекта. Но я могу ошибаться.   -  person 15ee8f99-57ff-4f92-890c-b56153    schedule 05.10.2016


Ответы (1)


Исправлена ​​эта проблема (строго связанная с этой), указав в Проект > Диспетчер ссылок:

Microsoft.Owin  2.0.2.0
Owin  1.0.0.0
System.Net.Http.Formatting  5.2.3.0
System.Web  4.0.0.0
System.Web.Http  5.2.3.0
System.Web.Http.Owin  5.2.3.0
person Pietro    schedule 05.10.2016