Ответ 1
Я знаю, что прошло некоторое время со времени последнего сообщения, но я исправил мой, удалив MVC 2 и MVC2 VS Tools и оставив только MVC 3.
У меня есть Visual Studio 2010/SP1/MVC 3 (с апрельским обновлением инструментов), установленный на компьютере со свежей установкой 64-разрядной версии Windows 7.
У меня нет рестартера. Я никогда не устанавливал RC или бета ничего в этой новой ОС.
Мои шаги установки были следующими:
Справк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
После установки я сделал следующее:
Внутри проекта есть поведение:
Кто-нибудь знает окончательный набор предпосылок для работы Razor Intellisense? Что-то я могу различить между другими 64-разрядными машинами Win7, в которых работает Razor Intellisense, и 2, у которых есть эта проблема? Записи реестра? Существуют ли журналы Visual Studio, которые могут помочь отладить это? После нескольких часов разочарования и чтения каждого сообщения и вопроса Razor Intellisense я столкнулся, не придумывая ничего, что работает. Я просто надеюсь на новые мысли о том, что нужно устранить/попробовать дальше.
Спасибо за любую помощь в этом.
Я знаю, что прошло некоторое время со времени последнего сообщения, но я исправил мой, удалив MVC 2 и MVC2 VS Tools и оставив только MVC 3.
Если у вас установлены 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" />
Открой свое решение, чтобы настройки вступили в силу
Я просто потратил 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... Я просто хотел опубликовать его на случай, если кто-то другой столкнется с той же проблемой для легко исправить.
Razor Intellisense работает с Редактором бритвы
Проверьте, выбран ли он как редактор по умолчанию. Для этого выполните
Снова проверьте файлы в редакторе Razor. Я сделал это и сейчас работаю.
Я исправил его, щелкнув правой кнопкой мыши на файле cshtml и выбрав "View Markup".
Вероятно, вы уже пробовали этот, но для меня были шаги в этом блоге: http://blogs.msdn.com/b/webdevtools/archive/2011/03/24/razor-tooling-for-mvc3-rc-with-visual-studio-2010-sp1-rtm.aspx
Мы столкнулись с проблемами, потому что, похоже, компилятор использует 32-разрядный MSBuild при создании представлений Razor, даже если у вас есть все ваши проекты, настроенные на 64-битные или любые процессоры. Наш веб-проект не будет компилироваться, когда мы заставили его до 64-битных, поскольку представления бритвы были построены в 32-битном режиме и не выполнялись, потому что некоторые из представлений ссылались на проект, на который ссылалась сторонняя 64-разрядная dll.
У меня была эта проблема с одним из моих проектов, и проблема заключалась в том, что проект каким-то образом преобразован в проект библиотеки классов, когда я преобразовал его из автономного приложения MVC в модуль Orchard.
Исправлено, открыв файл .csproj в текстовом редакторе и заменив эту строку:
<ProjectTypeGuids>{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
с этим:
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
Обратите внимание, что для меня причиной была установка плагина Roslyn Language Services. Когда я удалил плагин, проблема была решена. Чтобы удалить плагин, просто зайдите в tools- > менеджер расширений и найдите плагин Roslyn Language Services. Нажмите кнопку удаления и перезапустите VS2010.
У меня была та же проблема, я исправил ее, установив Visual Studio 2010 SP1. С тех пор все работает нормально. Надеюсь, это поможет вам.
Вы можете скачать его здесь: http://www.microsoft.com/download/en/details.aspx?id=23691
Удачи.
Как упоминается BuildStarter, нажмите "Открыть с" и установите по умолчанию редактор Razor, даже если он уже установлен. Должен получить цветовое кодирование и intelisense.
У меня была одна и та же проблема. Это началось случайным образом, когда я изменил механизм просмотра в представлении web.config на пользовательский. Это известная проблема. VS2010 Intellisense имеет проблемы с распознаванием зарезервированных слов, когда пользовательский механизм просмотра находится на месте или когда представление наследуется с пользовательской страницы просмотра.
Каждый, кто сталкивается с проблемами Razor Intellisense, должен проверить это. Ни одно из вышеперечисленных исправлений (переустановка VS, исправление SP1, повторное использование MVC3 Tools Update) не помогло.