Выделение синтаксиса Razor не работает в VS 2012 с MVC 5 - программирование
Подтвердить что ты не робот

Выделение синтаксиса Razor не работает в VS 2012 с MVC 5

Я играю с MVC 5 RC 1 в Visual Studio 2013 RC. Очень хорошо работает.

Теперь я обновил существующий проект MVC 4 в VS 2012 до MVC 5 так же, как описано здесь

Я также изменил web.config(s) - см. "обновление с MVC4 до MVC5"

Все (создание, запуск веб-приложения, даже intellisense) отлично работает, за исключением выделения синтаксиса кода Razor/С# в представлениях.

Я также пробовал его с проектом MVC 5, созданным в VS 2013. Тот же результат. Поэтому я предполагаю, что VS 2012 не "понимает" новые сборки?!

Любое известное обходное решение или идеи, чтобы получить подсветку?

4b9b3361

Ответ 1

Microsoft выпустила новую версию веб-инструментов ASP.NET для VS 2012. После установки подсветки синтаксиса снова вернется.

http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-visual-studio-2012.aspx

Установка обновления VS 2012 4 была недостаточной.

Доступен набор автономных установщиков. Нетрадиционные установщики проще в использовании, чем Invoke Web Platform Tools (WebNode11Pack.exe @~ 114KB):

Если вы хотите использовать автономный установщик, перейдите http://www.microsoft.com/en-us/download/details.aspx?id=41532

  • AspNetWebTools2013_1Setup.exe @~ 39MB
  • WebToolsExtensionsVS.msi(для Visual Studio 2012 стандартная версия [s]) @~ 21MB
  • WebToolsExtensionsVWD.msi(для Visual Studio 2012 бесплатное издание "Web" [s]) @~ 21MB

Ответ 2

Теперь ASP.NET и Web Tools 2013.1 для Visual Studio 2012 были выпущены и должны разрешить проблему Intellisense MVC5 с VS 2012.

Этот выпуск приносит массу больших улучшений и включает некоторые фантастические усовершенствования ASP.NET MVC 5, веб-API 2, строительные леса и Entity Framework для пользователей Visual Studio 2012 и Visual Studio 2012 Экспресс для Интернета.

Вы можете загрузить обновление: http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-visual-studio-2012.aspx

Модератор: это может быть просто ссылка для загрузки, но это решает проблему, она работает для меня, и она работает для пользователей, которые проголосовали за это как ответ. Если вы собираетесь удалить его, пожалуйста, укажите причину, спасибо!

Ответ 3

Этот ответ утверждает, что VS2012 не может понять Razor 3, поэтому вам (и мне) придется перейти на VS2013

Ответ 4

В настоящее время я использую обходной путь, чтобы заставить IntelliSense работать в VS2012 (я предполагаю, что это не сработает правильно), если я использовал VS2013 для того же проекта; б) если я попытался использовать функции Razor 3):

Измените файл web.config на использование старой версии webpages:

<add key="webpages:Version" value="2.0.0.0" />

Чтобы убедиться, что это никак не влияет на производительность, я добавил преобразование web.config:

<add key="webpages:Version" value="3.0.0.0" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />

К сожалению, это обходное решение имеет проблемы (которые я заметил до сих пор):

  • Методы расширения (например, Html.RenderPartial() не распознаются и отображаются как ошибка в конструкторе).

Ответ 5

Я получил ответ от разработчика Microsoft:

Поддержка MVC 5/Razor 3 для VS 2012 еще не отправлена. Мы надеемся передать эту поддержку в середине ноября.

Итак, принятый ответ верен, но мы можем планировать вскоре эту поддержку и в VS2012.

Ответ 6

установите "ASP.NET и WebTools 2013.1 для Visual Studio 2012" в Microsoft Platform Installer

Ответ 7

Для меня проблема заключалась в том, что мои файлы сборки были выведены в каталог, отличный от bin. После того, как мои файлы выведены на bin, моя подсветка синтаксиса вернулась.

Один из способов исправить это - создать действие после сборки, которое копирует файлы в папке с корнем проекта (в отличие от фильтра вне проекта) в целевой каталог.

В следующей статье объясняется: http://www.dennisonpro.info/managing-intellisense-in-razor-views-with-mvc-5-using-custom-builds-in-visual-studio-2013/