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