Razor Intellisense не работает VS2010 SP1Rel MVC3 из WPI Win7 x64

У меня есть Visual Studio 2010/SP1/MVC 3 (с апрельским обновлением инструментов), установленный на компьютере со свежей установкой 64-разрядной версии Windows 7.

У меня нет рестартера. Я никогда не устанавливал RC или бета ничего в этой новой ОС.

Мои шаги установки были следующими:

  • Установите Visual Studio Professional.
  • Установите установщик веб-платформы.
  • Установить Visual Studio SP1 из WPI.
  • Установите Microsoft ASP.net MVC 3 (с апрельским обновлением инструментов)
  • Установите инструменты для повышения производительности

Справкa > Об Microsoft Visual Studio показывает:

Microsoft Visual Studio 2010 Версия 10.0.40219.1 SP1Rel

Microsoft.NET Framework Версия 4.0.30319 SP1Rel

Версия версии System.Web.Mvc.dll показывает: 3.0.20105.0

После установки я сделал следующее:

  • Откройте Visual Studio.
  • Файл > Новый проект
  • Выберите "ASP.Net MVC 3 Web Application".
  • В диалоговом окне "Новый проект ASP.NET MVC 3". Я выбрал "Internet Application", "Razor" View Engine. Нажмите ОК.

Внутри проекта есть поведение:

  • Откройте любой файл cshtml, а Razor @blocks не будут выделены.
  • Intellisense предоставляет html-фрагменты в качестве опций в блоках бритвы и вне их, но не распознает в них хелл-хелперы или модели и т.д.
  • Проект строится.
  • Вы можете запустить проект, и все будет работать при его создании. Представления Razor отображаются в обычном режиме.

Кто-нибудь знает окончательный набор предпосылок для работы Razor Intellisense? Что-то я могу различить между другими 64-разрядными машинами Win7, в которых работает Razor Intellisense, и 2, у которых есть эта проблема? Записи реестра? Существуют ли журналы Visual Studio, которые могут помочь отладить это? После нескольких часов разочарования и чтения каждого сообщения и вопроса Razor Intellisense я столкнулся, не придумывая ничего, что работает. Я просто надеюсь на новые мысли о том, что нужно устранить/попробовать дальше.

Спасибо за любую помощь в этом.

Ответы

Ответ 1

Я знаю, что прошло некоторое время со времени последнего сообщения, но я исправил мой, удалив MVC 2 и MVC2 VS Tools и оставив только MVC 3.

Ответ 2

Если у вас установлены MVC4 и MVC3, вам нужно добавить это в appsettings в web.config(в корневом каталоге и в папке Views), чтобы использовать MVC3

<appsettings>
    <add key="webpages:Version" value="1.0.0.0">
    ...
</appsettings>

Также проверьте свои ссылки в корневом web.config, они должны включить эти версии

<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

Открой свое решение, чтобы настройки вступили в силу

Ответ 3

Я просто потратил 2 часа в моей жизни на это. Что случилось со мной, так это то, что файл web.config был проверен неправильно и больше не был Unicode UTF8. Когда VS 2010 открыл решение, он проверяет файл web.config для настроек appsettings:

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

Так как файл не мог быть прочитан обычным способом, он просто пропустил его полностью, в результате чего VS подумал, что вам нужно переустановить MVC... Я просто хотел опубликовать его на случай, если кто-то другой столкнется с той же проблемой для легко исправить.

Ответ 4

Razor Intellisense работает с Редактором бритвы

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

  • Щелкните правой кнопкой мыши файл вида (.cshtml)
  • Выберите "Открыть с..."
  • Проверка редактора Razor Выберите по умолчанию
  • Если нет, удалите mvc3 с панели управления, переустановите его.

Снова проверьте файлы в редакторе Razor. Я сделал это и сейчас работаю.

Ответ 5

Я исправил его, щелкнув правой кнопкой мыши на файле cshtml и выбрав "View Markup".

Ответ 7

Мы столкнулись с проблемами, потому что, похоже, компилятор использует 32-разрядный MSBuild при создании представлений Razor, даже если у вас есть все ваши проекты, настроенные на 64-битные или любые процессоры. Наш веб-проект не будет компилироваться, когда мы заставили его до 64-битных, поскольку представления бритвы были построены в 32-битном режиме и не выполнялись, потому что некоторые из представлений ссылались на проект, на который ссылалась сторонняя 64-разрядная dll.

Ответ 8

У меня была эта проблема с одним из моих проектов, и проблема заключалась в том, что проект каким-то образом преобразован в проект библиотеки классов, когда я преобразовал его из автономного приложения MVC в модуль Orchard.

Исправлено, открыв файл .csproj в текстовом редакторе и заменив эту строку:

<ProjectTypeGuids>{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

с этим:

<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Ответ 9

Обратите внимание, что для меня причиной была установка плагина Roslyn Language Services. Когда я удалил плагин, проблема была решена. Чтобы удалить плагин, просто зайдите в tools- > менеджер расширений и найдите плагин Roslyn Language Services. Нажмите кнопку удаления и перезапустите VS2010.

Ответ 10

У меня была та же проблема, я исправил ее, установив Visual Studio 2010 SP1. С тех пор все работает нормально. Надеюсь, это поможет вам.

Вы можете скачать его здесь: http://www.microsoft.com/download/en/details.aspx?id=23691

Удачи.

Ответ 11

Как упоминается BuildStarter, нажмите "Открыть с" и установите по умолчанию редактор Razor, даже если он уже установлен. Должен получить цветовое кодирование и intelisense.

Ответ 12

У меня была одна и та же проблема. Это началось случайным образом, когда я изменил механизм просмотра в представлении web.config на пользовательский. Это известная проблема. VS2010 Intellisense имеет проблемы с распознаванием зарезервированных слов, когда пользовательский механизм просмотра находится на месте или когда представление наследуется с пользовательской страницы просмотра.

Каждый, кто сталкивается с проблемами Razor Intellisense, должен проверить это. Ни одно из вышеперечисленных исправлений (переустановка VS, исправление SP1, повторное использование MVC3 Tools Update) не помогло.