Мои первоначальные исследования привели меня к тому, чтобы подходить к ручной настройке, описанной ниже, поэтому я на самом деле никогда не пробовал предложение Олава. Если это сработает, возможно, это путь. Но если нет, или если отсутствуют какие-то детали для этого подхода, вот шаги, которые я предпринял. Я использую VS 2012 Update 3.
I получил предупреждение о том, что он пропускал _ViewStart.cshtml
, но он дал мне возможность перезаписать. Я выбрал Да.
Снова от менеджера консоли пакета, выполните команду:
Install-Package Microsoft.AspNet.Mvc -Pre
Изменить web.config, вид \ web.config и области \ Views \ web.config в соответствии с these instructions. Игнорируйте шаги 1 - 5 в разделе «Шаги обновления». Кроме того, мне не нужно было ничего делать с WebHelpers.
- Добавить ссылки на System.Web.Http 5.0 на web.config согласно шагу 2 из this answer.
- Если вы построите на этом этапе, вы получите ошибку компилятора, указав, что
XmlDocumentationProvider
в папке Areas \ HelpPage не полностью реализует интерфейс. Не уверен, что это такое, но на данный момент это не важно для меня, поэтому я просто добавил пустые реализации к двум отсутствующим методам (совет: щелкните правой кнопкой мыши на IDocumentationProvider и выберите интерфейс реализации - он добавит два отсутствующих метода).
Я сделал это пару дней назад, и моя память уже становится нечеткой, но я думаю, что она ее охватывает. На этом этапе я могу использовать WebAPI2, включая маршрутизацию на основе атрибутов!
+1. Похоже, теперь есть обновленное обновление пакета NUGET для Web API 5.1 (не бета-версия), которое устраняет эту проблему для Visual Studio 2012. Просто выполните шаги обновления пакета nuget выше в пакетах веб-API, и это должно сработать. –