2015-08-23 3 views
1

Мой компьютер неожиданно разбился, когда я работал в визуальной студии в веб-приложении. В результате мой csproj был полностью поврежден, поэтому мне пришлось начать новый веб-проект и повторно добавить все файлы и сборки из моего старого проекта.Как ссылаться на атрибуты Route и ResponseType?

Но по какой-то причине Маршрут, который должен быть в System.Web.Http и ResponseType, который должен находиться в System.Web.Http.Description, не может быть найден, хотя у меня все еще есть соответствующие им приложения. Кроме того, мой проект по-прежнему ссылается на System.Web и System.Web.Http, и все остальные вещи в моем приложении, похоже, не генерируют никаких ошибок, подобных этому на данный момент.

enter image description here

Я также попытался выписывая полный путь к этим классам (т.е. System.Web.Http.Description.ResponseType), но в то время как IntelliSense может исследовать пространство имен, путь и атрибуты ResponseType отсутствуют.

Я не уверен, что это связано, но когда я нажимаю правой кнопкой мыши на контроллерах и выбираю «Добавить», я больше не могу добавить контроллер. Что-то действительно перепуталось с этим проектом ...

ответ

0

Вам необходимо переустановить необходимые пакеты, чтобы включить Attribute Routing.

С Инструменты меню в Visual Studio, выберите Library Package Manager, затем выберите пакет консоли диспетчера. Введите следующую команду в окнеPackage Manager Console:

Install-Package Microsoft.AspNet.WebApi.WebHost 

Затем после ручного добавления соответствующих ссылок (т.е. System.Web.dll и System.Web.Http.dll, если они уже не ссылаются) и с помощью соответствующего namespaces, ваши атрибуты должны работать:

using System; 
using System.Web.Http; 
using System.Web.Http.Description; 
+0

Для дальнейшего использования, как это одна цифра, какой пакет должен быть установлен? Я никогда не слышал о пакете «Microsoft.AspNet.WebApi.WebHost». – JSideris

+0

В корне проекта vs есть файл под названием 'packages.config'. Этот файл содержит список всех установленных пакетов. При создании нового проекта vs, в зависимости от типа проекта, необходимые пакеты будут установлены автоматически. Я думаю, что когда ваша система разбилась, некоторые из этих пакетов исчезли, поэтому их повторная установка вручную может решить проблему. –

0

В качестве альтернативы принятому ответу я обнаружил, что можно было автоматически установить необходимые пакеты, как только первый контроллер API Web 2 добавится в проект через контекст проводника решения me me имя неизвестно

0

Решите для меня, выполнив следующее!

  1. Сохранить решение
  2. обновление-пакет -reinstall
Смежные вопросы