Visual Studio 2015 не выделяет синтаксис бритвой или Intellisense
Представления My Razor в VS2015 RC не показывают правильную окраску кода С#. Мой проект отлично работал в VS2013, но это не в 2015 году, и это не дает мне Intellisense для кода С#. Решение строится, и сайт работает нормально.
Я попробовал следующее безрезультатно
- отключить все расширения Visual Studio
- удаление моего
.suo
файла
- удаление проекта и повторное добавление его в решение
Как я могу это исправить?
Пример:
![]()
Ответы
Ответ 1
Я нашел в этом ответе еще один способ исправить это без devenv.exe/ResetUserData
Просто удалите содержимое этого каталога с закрытой Visual Studio: %LocalAppData%\Microsoft\VisualStudio\<visual_studio_version_number>\ComponentModelCache
Чтобы найти номер версии выпущенной версии Visual Studio, обратитесь к этому списку. Обратите внимание, что важно только основное число, малая версия может и, вероятно, будет отличаться. В моем случае я установил Visual Studio 2017 Enterprise, поэтому я искал 15.xx
и нашел 15.0_9a1c4a06
внутри папки AppData.
Ответ 2
У меня была та же проблема, единственное исправление до сих пор - сброс всех пользовательских данных (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /ResetUserData
).
ПРИМЕЧАНИЕ. Вы потеряете все настройки, например. быстрые клавиши и макеты окон, если вы это сделаете!
EDIT: люди говорят, что это работает только для RC, а не RTM, поэтому сначала вы можете попробовать другие исправления.
Ответ 3
У меня была та же проблема в RTM VS 2015, и я смог ее исправить, просто загрузив Visual Studio в безопасном режиме с помощью
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /SafeMode
затем закрывая и вновь открывая его.
Ответ 4
После обновления обновления Visual Studio 2015 1 У меня была такая же проблема. Я пробовал все ответы, но не работал у меня.
Исправление для меня предназначалось для программ и свойств > Редакция сообщества Visual Studio > Изменить. Я нажал на модификацию.
В списке обязательно поставьте галочку в "Microsoft Web Developer Tools" в разделе "Windows и веб-разработка".
Он не был проверен в моем списке howewer:/
![введите описание изображения здесь]()
Ответ 5
Инструменты > Параметры > Текстовый редактоp > Все языки > Общие.
Снимите флажок "Скрыть расширенные элементы". Нажмите "ОК".
Как только я сделал это, Intellisense, похоже, работал у меня. Я тогда reset вернулся и сохранил функциональность. Я использую корпоративную версию Visual Studio 2015.
Я попробовал ResetUserData, и это не сработало для меня.
Ответ 6
Я установил Visual Studio Community Edition 2015 (после долгого использования Visual Studio Community Edition 2013) и столкнулся с той же проблемой. Я пробовал все вышеупомянутые решения, но ничего не помогло.
Наконец, закройте Visual studio и удалите следующие папки -
C:\Users\Allwyn\AppData\Roaming\Microsoft\VisualStudio\14.0
C:\Users\Allwyn\AppData\Roaming\Microsoft\VisualStudio\14.0
... и теперь он работает!!!
Ответ 7
Запуск RTM VS 2015. Ни /ResetUserData, ни/SafeMode не работали для меня. Кроме того, некоторые связанные с производительностью Power Tools 2015 жалуются на всплывающее окно "errors-in-ActivityLog.xml" при запуске VS.
Итак, если у вас есть подобные симптомы, вот как я исправил это на своей машине:
- Запустите "Начать экспериментальный экземпляр Visual Studio 2015" и откройте свой проект. Если intellisense работает и синтаксис бритвы подсвечивается, у вас есть большие шансы, что следующее будет работать.
- Удалите "Powerivity Tools 2015" и закройте Visual Studio.
- Перейдите в папку
%LOCALAPPDATA%\Microsoft\VisualStudio\
и стирайте 14.0
.
- Запустить VS - он должен начинаться, как только он был установлен.
P.S. Фактически, мне потребовалось пару раз, чтобы заставить работать мой intellisense, потому что я отключил PowerTools первым, и он снова сломал VS при повторном подключении. Поэтому требуется полная переустановка. Может быть вызвано другим расширением в вашем случае.
Ответ 8
Это будет эффект, если ваш проект MVC4. Подробнее здесь. Также обратите внимание, что это будет исправлено в предстоящем выпуске.
Как вы можете определить, является ли ваш проект MVC4? Откройте файл pack.config и выделите запись для Microsoft.AspNet.Mvc. Если указанная версия начинается с "4", это означает, что вы используете MVC 4.
Ответ 9
У меня была аналогичная проблема, когда любая бритва script не была выделена, intellisense не сработает и компилятор не узнает никаких ошибок (даже там, где я намеренно помещал синтаксические ошибки в!)
Я действительно исправил проблему, перейдя в C:/Users/YourUserName/AppData/Local/Temp и удалив все из этого файла, как только я это сделал, и перезапустил VS, мои Razor Views начали работать!
Надеюсь, что это поможет!
Ответ 10
Дружественное напоминание, чтобы убедиться, что вы правильно использовали строчный @model
в верхней части вашего представления, а не @model
(например, я сделал ошибку).
Нижний регистр @model
- это директива, которая сильно наводит представление на экземпляр класса, который следует за ним. В то время как заглавная Model
является свойством представления, которое получает экземпляр модели.
Ответ 11
Некоторые взгляды работали отлично для меня, некоторые совсем не были... Единственное, что помогло мне:
- Закрытие VS
- Удаление C:\Users\%username%\AppData\Local\Temp
- Перезапуск VS
- Проблема решена.
Я также пробовал большинство других решений, но они не работали для меня.
Ответ 12
Я исправил проблему, включив файл в проект/решение. Я бы упустил тот факт, что нет подсветки /intellisense, если он не включен.
Ответ 13
У меня была такая же проблема, и мне пришлось загружать и устанавливать "Microsoft ASP.NET и веб-инструменты" и "Веб-основы". После этого выделения синтаксиса и Razor intellisense снова начали работать.
Ответ 14
В моем Web.config у меня было это:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="LinkApp.Models.Templates"/>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="LinkApp" />
</namespaces>
</pages>
</system.web.webPages.razor>
Oddly enough, I moved my custom namespace to the bottom, and that fixed it, like this:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="LinkApp" />
<add namespace="LinkApp.Models.Templates"/>
</namespaces>
</pages>
</system.web.webPages.razor>
Ответ 15
Утилита была удалена и переустановлена:
Microsoft.AspNet.Mvc
Microsoft.AspNet.WebPages
Microsfot.AspNet.Razor
Я попробовал reset userdata, удалив temp и 14, а также изменив настройки параметров, и никто из них не работал. Я даже попытался восстановить и переустановить. Я использую VS 2015 Version 14.0.24720.00 Update 1
Ответ 16
Вы удаляете только папку ".vs" в своем проекте (папка .vs скрыта)
Будьте внимательны ResetUserData
удалите все настройки в Visual Studio.
Ответ 17
Единственное, что сработало для меня, это изменить проект "Выходной путь" на bin\
(раньше он был bin\Debug
):
- Щелкните правой кнопкой мыши проект,
- Нажмите
Properties
и перейдите к Build
,
- Прокрутите до последнего раздела под названием "Выход",
- Измените значение в текстовом поле с надписью
Output path:
на bin\
Ответ 18
Выше не работает, но мне удалось:
- Удаление (из программы и функций Windows)
Web Developer Tools
для VS 2015, RC, Обновление 1
- Установка (из установщика VS → Изменить)
Web Developer Tools
(это другая версия выше)
Таким образом, проблема заключалась в том, что установщик VS не установил средства для веб-разработчиков, признающие уже установленную, несовместимую версию, как правильную.
Ответ 19
Я исправил эту проблему, обновив свой проект до версии ASP.NET MVC версии 5.
Но это потребовало дополнительных манипуляций с файлами конфигурации. Здесь Я нашел пошаговое руководство:
- в global.asax, измените:
WebApiConfig.Register(GlobalConfiguration.Configuration);
в
GlobalConfiguration.Configure(WebApiConfig.Register);
- Убедитесь, что все пакеты, используемые вашими проектами, совместимы с MVC 5 и Web API 2
- Удалите любой из следующих установленных пакетов ASP.NET NuGet:
- Microsoft.AspNet.WebPages.Administration
- Microsoft-Web-Helpers (не путать с Microsoft.AspNet.WebHelpers!)
- Microsoft.AspNet.Mvc.FixedDisplayMode
- Обновите все пакеты NuGet ASP.NET. В консоли диспетчера пакетов вы можете запустить следующую команду: Обновить пакет. Без каких-либо параметров он обновит каждый пакет.
- Обновление конфигураций приложений и просмотров. Файлы:
- Для всех элементов с атрибутом name "System.Web.Mvc" измените номер версии на новую (проверьте версию сборки в обозревателе решений, она должна быть равна или выше "5.0.0.0" )
- Сделайте то же самое для всех элементов с атрибутом name "System.Web.Helpers" и "System.Web.WebPages" .
- Проверить привязки переадресаций для сборок "System.Web.Helpers" , "System.Web.Mvc" и "System.Web.WebPages" в конфигурационных файлах, "oldVersion" и "newVersion" должны соответствовать изменениям, сделанным выше.
- Найдите раздел appSettings и обновите веб-страницы: версия от "2.0.0.0.0" до "3.0.0.0"
- Обновите все элементы, содержащие "System.Web.WebPages.Razor" от версии "2.0.0.0" до версии "3.0.0.0" . Если этот раздел содержит "System.Web.WebPages" , обновите эти элементы с версии "2.0.0.0" до версии "3.0.0.0"
- Если вы удалили пакет Microsoft-Web-Helpers NuGet на предыдущих шагах, установите Microsoft.AspNet.WebHelpers с помощью следующей команды в консоли диспетчера пакетов:
Install-Package -Id Microsoft.AspNet.WebHelpers
Надеюсь, это поможет.
Ответ 20
Неинвазивный подход заключается в проверке ваших файлов вида web.config для правильных версий. Эти файлы Web.config находятся в папке app/Area/AreaName/Views или общих папках приложений/представлений. Они отличаются от файла проекта Web.config.
- Убедитесь, что каждая версия в строках сборки типов соответствует вашей установленной версии NuGet.
- Убедитесь, что версия в строке сборки factoryType соответствует установленной вами версии NuGet.
Ниже приведен пример последнего, следующего за написанием этого комментария:
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Ответ 21
Что работало для меня (сообщество VS 2015), было предложено в этом ответе. Запустив cmd.exe в качестве администратора, я запустил следующее:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /setup