Visual Studio 2015 - не подсветка синтаксиса и не Intellisense

121

Мои представления Razor в VS2015 RC не показывают правильную окраску для кода C #. Мой проект отлично работал в VS2013, но не в 2015 году, и это не дает мне никакого Intellisense в коде C #. Решение строится, и сайт работает нормально.

Я пробовал следующее, но безрезультатно

  • отключение всех расширений Visual Studio
  • удаление моего .suoфайла
  • удаление проекта и повторное добавление его в решение

Как я могу это исправить?

Пример:

DLeh
источник
3
Вы не думали ждать полной версии? Текущая версия все еще содержит много ошибок и предназначена только для предварительного просмотра для нетерпеливых.
Уолтер
Вы установили Инструменты повышения производительности? В моем случае они много раз разбивались в матчах vs ... Curretnly теперь выделены в vNext PRojects
Боас
Это все еще происходит в VS2015 Professional. Ни один из ответов в этой ветке не решает проблему навсегда. Подсветка синтаксиса по-прежнему не работает.
Джастин Скилс
Если ни один из приведенных ниже ответов не решает проблему, вы можете взглянуть здесь: stackoverflow.com/questions/33245041/… Установка .NET Core 1.0.0 решила проблему для меня. Я начал с той же проблемы, но у меня возникла проблема с веб-шаблонами (недоступными для новых проектов). Галочка на «Microsoft Web Developer Tools» (как описано в одном из ответов ниже) всегда была отмечена.
Ruard van Elburg
Проверьте свою версию MVC. Если это 3 или меньше, VS 2015 не поддерживает его.
RMuesi

Ответы:

215

В этом ответе я нашел другой способ исправить это без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.

fabriciorissetto
источник
7
Это сработало для меня. VS 2015 Enterprise Version 14.0.23107.0 D14REL
Toft,
3
Спасибо. Это лучший способ вместо сброса всех пользовательских данных в VS2015 Enterprise
kapsiR
1
Работал в VS 2015 Enterprise
Law
4
Это должно быть основным решением, которое сработало и у меня на антрепризе VS 2015
cdie
1
Это сработало для меня, и я согласен, что это должно быть основным решением. Я использую Профессиональную версию. Большое спасибо.
Jón ViÞar orsteinsson
52

У меня была та же проблема, единственное исправление на данный момент - сброс всех пользовательских данных ( C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /ResetUserData).

ПРИМЕЧАНИЕ. Если вы сделаете это, вы потеряете все настройки, например сочетания клавиш и макеты окон!

РЕДАКТИРОВАТЬ: Люди говорят, что это работает только для RC, а не для RTM, поэтому вы можете сначала попробовать другие исправления.

Гейр Сагберг
источник
Хотя это, вероятно, не лучшее решение, у меня оно сработало! Спасибо! Мне интересно, связано ли это с установкой предыдущих версий CTP.
DLeh
2
вы можете экспортировать привязки клавиш раньше и восстанавливать их после
Консоль,
Правильно ли вставлена ​​вставка '>' в этой командной строке? У меня это сработало, заменив это обратной косой чертой. Но это решение тогда сработало и для меня!
Николас Петерсен
1
И вы теряете все аддоны.
Knerd
1
У меня версия Enterprise (VS 2015) . есть ли возможное решение для этой версии? выше решение не сработало для меня.
Zeeshan
26

У меня была такая же проблема в VS 2015 RTM, и я смог исправить ее, просто загрузив Visual Studio в безопасном режиме:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /SafeMode

затем закрыть и снова открыть его в обычном режиме.

Kevin
источник
1
Хотя у меня это сработало, стоит попробовать. Вы не потеряете свои текущие настройки.
Ник
У меня это не сработало, эта ошибка проявлялась и в SafeMode (и, очевидно, после повторного открытия "стандартным" способом).
T-moty
Спасибо, что спасли меня от потери настроек!
grmbl 07
Работал над моим VS 2015 Enterprise
Тамим Аль Манасир
Потрясающие! у меня тоже сработало. Стоит попробовать, последние несколько раз я выбивал свои настройки.
Диего
10

После обновления Visual Studio 2015 Update 1 у меня возникла такая же проблема. Я перепробовал все ответы, но у меня ничего не вышло.

Исправление для меня собиралось в программах и свойствах> Версия сообщества Visual Studio> Изменить. Я нажал «Изменить».

В списке не забудьте поставить галочку на «Microsoft Web Developer Tools» под «Windows и веб-разработка».

Однако это не было отмечено в моем списке: /

введите описание изображения здесь

Бахтияр Оздере
источник
К сожалению, когда я попробовал это, галочка просто вернулась. : <Он отказался уходить. : <По-прежнему сталкиваюсь с этой проблемой. : <Сейчас у VS очень галочка. : <огромное время тонуть.
PHenry 01
Взгляните сюда: stackoverflow.com/questions/33245041/… Симптомы те же. Я решил эту проблему, установив .NET Core 1.0.0
Руард ван Элбург
7

Инструменты> Параметры> Текстовый редактор> Все языки> Общие. Снимите флажок Скрыть расширенных участников. Щелкните ОК.

Как только я сделал это, мне показалось, что Intellisense сработал. Затем я сбросил его и сохранил функциональность. Я использую корпоративную версию Visual Studio 2015.

Я пробовал ResetUserData, и у меня это не сработало.

Postmita
источник
1
Хорошо, это сработало, а потом снова стало не работать
Шон
1
Это не сработало для меня с С #. Однако я пошел в Текстовый редактор> С # и поставил / затем снял флажок «Скрыть расширенные члены», затем нажал ОК, и intellisense снова начал работать.
Todilo
это тоже сработало для меня и было намного предпочтительнее, чем перезагрузка моей среды!
Пол Кэрролл,
Он продолжает проверяться после того, как я
снимаю
У меня возникла проблема, когда меню intellisense появлялось на долю секунды, а затем исчезало - это решило эту проблему, и теперь меню остается видимым, как и ожидалось.
X3074861X
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

... и теперь это работает !!!

Аллвин Дсуза
источник
это сработало для меня (полная версия) VS 2015 Enterprise edition
hal9000,
Иногда это работает, а иногда нет. Он исправил это для меня примерно на 5 минут, затем это начало повторяться.
Джастин Скилз
Это устранило мою проблему, по крайней мере, на данный момент. Возможно, это не сработает, но мы посмотрим. Похоже на странную ошибку, которую Microsoft должна исправить. Эта проблема была как в 2015, так и в 2017 году
Deathstalker
5

Запуск VS 2015 RTM. Ни / ResetUserData, ни / SafeMode у меня не работали. Также были некоторые связанные с Productivity Power Tools 2015 жалобы на всплывающее окно «errors-in-ActivityLog.xml» при запуске VS.

Итак, если у вас есть похожие симптомы, вот как я исправил это на своей машине:

  1. Запустите «Запустить экспериментальный экземпляр Visual Studio 2015» и откройте свой проект. Если intellisense работает и синтаксис бритвы выделен, у вас есть большие шансы, что следующее будет работать.
  2. Удалите "Productivity Power Tools 2015" и закройте Visual Studio.
  3. Перейти %LOCALAPPDATA%\Microsoft\VisualStudio\и стереть14.0 папку .
  4. Запустите VS - он должен запуститься так, как только что был установлен.

PS На самом деле, мне потребовалось несколько раз, чтобы мой intellisense заработал, потому что я сначала отключил PowerTools, и он снова сломал VS при повторном включении. Значит, требуется полная переустановка. В вашем случае это может быть вызвано другим расширением.

Владимир Абашин
источник
Работает для меня! Visual Studio 2015 Enterprise.
Timber
У меня работает без удаления "Productivity Power Tools 2015". Visual Studio 2015 Enterprise.
ShurikEv
4

Это будет эффект, если ваш проект - MVC4. Подробнее см. Здесь . Также обратите внимание, что это будет исправлено в следующем выпуске.
Как узнать, является ли ваш проект MVC4? Откройте файл packages.config и перейдите к записи для Microsoft.AspNet.Mvc. Если указанная версия начинается с «4», это означает, что вы используете MVC 4.

Ван Кихлайн
источник
Это действительно проблема для меня, и / resetuserdata не помогает :(
chrilith
Для получения дополнительной информации: asp.net/mvc/overview/releases/…
Микаэль Феликс
Это не имеет ничего общего с MVC4. Проекты с MVC5 и 6 по-прежнему страдают от этих проблем.
Джастин Скилс
это то, что я в конце концов выяснил, чтобы быть причиной Мой проект был MVC 3. VS 2015 не поддерживает MVC 3. Больше ничего из того, что я пробовал, не работало.
RMuesi
4

У меня была аналогичная проблема, когда любой сценарий бритвы не выделялся, intellisense не работал, а компилятор не распознавал никаких ошибок (даже если я намеренно вставил синтаксические ошибки!)

Я фактически исправил проблему, перейдя в C: / Users / YourUserName / AppData / Local / Temp и удалив все из этого файла, как только я это сделал и перезапустил VS, мои Razor Views начали работать!

Надеюсь, это поможет!

reece240692
источник
Это сработало для меня. Мне пришлось вручную удалить некоторые элементы в папке Razor-Server, которые были заблокированы в процессе компиляции.
Руди Скоггинс
3

Некоторые представления работали нормально, некоторые - нет ... Единственное, что мне помогло:

  • Закрытие VS
  • Удаление C: \ Users \% username% \ AppData \ Local \ Temp
  • Перезапуск VS
  • Задача решена

Я пробовал и другие решения, но они не помогли мне.

Роджер
источник
2

Дружественное напоминание о том, что вы правильно использовали строчные буквы @modelв верхней части экрана, а не@Model (как я сделал ошибку).

Нижний регистр @model- это директива, которая строго типизирует представление для экземпляра класса, который следует за ним. В то время как заглавныеModel - это свойство представления, которое получает экземпляр модели.

Кевин Коллинз
источник
1

Я исправил проблему, включив файл в проект / решение. Я упустил из виду тот факт, что нет подсветки / intellisense, если она не включена.

Дэйв Кларк
источник
0

У меня была та же проблема, и мне пришлось загрузить и установить «Microsoft ASP.NET и веб-инструменты» и «Web Essentials». После выполнения этой подсветки синтаксиса и Razor intellisense снова начал работать.

Ogglas
источник
На меня не повлияло. VS2015 Professional.
Джастин Скилс
Я использую Сообщество VS2015. Вы пробовали решение Гейра Сагбергса? В CMD запустите: «C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ devenv.exe» / ResetUserData
Ogglas,
2
Да. Я пробовал все решения в каждом потоке на StackOverflow. Ничего не получилось. Я даже переустановил VS и свою операционную систему.
Джастин Скилс,
Если после переустановки вы создадите новый консольный проект, он там не заработает?
Ogglas
0

У меня было удалено и переустановлено следующее:

Microsoft.AspNet.Mvc

Microsoft.AspNet.WebPages

Microsfot.AspNet.Razor

Я попробовал сбросить данные пользователя, удалить temp и 14, а также изменить настройки параметров, и ничего из этого не сработало. Я даже пробовал ремонтировать и переустанавливать. Я использую VS 2015 версии 14.0.24720.00, обновление 1

wirble
источник
Это сработало и для меня, у меня был сайт MVC4, с которым я работал в VS2013 из-за отсутствия поддержки до обновления 1. После установки обновления 1 он все еще не работал в 2015 году, но удалите и переустановите пакеты. от Nuget решил проблему.
lostatredrock
0

Вам следует удалить только папку ".vs" в своем проекте. (Папка .vs скрыта)

Будьте осторожны, ResetUserDataудалите все настройки в Visual Studio.

Фред
источник
0

Единственное, что у меня сработало, - это изменить "Путь вывода" проекта на bin\(Раньше было bin\Debug):

  1. Щелкните проект правой кнопкой мыши,
  2. Нажмите Propertiesи перейдите кBuild ,
  3. Прокрутите до последнего раздела под названием «Вывод»,
  4. Измените значение в текстовом поле Output path:дляbin\
моно блейн
источник
0

Выше не работает, но мне удалось:

  • Удаление (из программы и компонентов Windows) Web Developer Tools для VS 2015, RC, обновление 1
  • Установка (из VS Installer -> Modify) Web Developer Tools(это другая версия выше)

Таким образом, проблема заключалась в том, что установщик VS не установил Инструменты веб-разработчика, распознав уже установленную несовместимую версию как правильную.

Krystian
источник
0

Я исправил эту проблему, обновив свой проект до ASP .NET MVC версии 5. Но это потребовало дополнительных манипуляций с файлами конфигурации. Вот пошаговое руководство:

  • в global.asax измените: WebApiConfig.Register (GlobalConfiguration.Configuration); в GlobalConfiguration.Configure (WebApiConfig.Register);
  • Убедитесь, что все пакеты, используемые в ваших проектах, совместимы с MVC 5 и Web API 2.
  • Удалите любой из следующих установленных пакетов NuGet ASP.NET:
    1. Microsoft.AspNet.WebPages.Administration
    2. Microsoft-Web-Helpers ( не путайте с Microsoft.AspNet.WebHelpers! )
    3. Microsoft.AspNet.Mvc.FixedDisplayMode
  • Обновите все пакеты NuGet ASP.NET. В консоли диспетчера пакетов вы можете запустить следующую команду: Update-Package . Без каких-либо параметров он будет обновлять каждый пакет.
  • Обновите файлы конфигурации приложения и представлений:
    1. Для всех элементов с атрибутом имени «System.Web.Mvc» измените номер версии на новый (проверьте версию сборки в обозревателе решений, она должна быть равна или выше «5.0.0.0»)
    2. Сделайте то же самое для всех элементов с атрибутом имени «System.Web.Helpers» и «System.Web.WebPages» .
    3. Проверьте перенаправления привязки для сборок «System.Web.Helpers» , «System.Web.Mvc» и «System.Web.WebPages» в файлах конфигурации, «oldVersion» и «newVersion» должны соответствовать изменениям, внесенным выше.
    4. Найдите раздел appSettings и обновите веб-страницы: версия с «2.0.0.0.0» до «3.0.0.0»
    5. Обновите все элементы, содержащие «System.Web.WebPages.Razor», с версии «2.0.0.0» до версии «3.0.0.0». Если этот раздел содержит «System.Web.WebPages» , обновите эти элементы с версии «2.0.0.0» до версии «3.0.0.0».
    6. Если вы удалили пакет NuGet Microsoft-Web-Helpers на предыдущих шагах, установите Microsoft.AspNet.WebHelpers с помощью следующей команды в консоли диспетчера пакетов: Install-Package -Id Microsoft.AspNet.WebHelpers

Я надеюсь, это поможет.

Глеб Иконников
источник
0

Неинвазивный подход - проверить файлы Views web.config на наличие правильных версий. Эти файлы Web.config находятся в папках app / Area / AreaName / Views или в общих папках app / 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" />
gregsonian
источник
0

В этом ответе был предложен вариант, который сработал для меня (сообщество VS 2015) . Запустив cmd.exe от имени администратора, я выполнил следующее:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /setup
HeyJude
источник
0

Я загружал и устанавливал «Microsoft ASP.NET и веб-инструменты» и «Web Essentials», и у меня это сработало.

Anonimussssss
источник