Visual Studio 2015 не підкреслює синтаксичну бритву, ані Intellisense


121

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

Я спробував наступне безрезультатно

  • вимкнення всіх розширень Visual Studio
  • видалення мого .suoфайлу
  • видалення проекту та повторне додавання його до рішення

Як я можу це виправити?

Приклад:


3
Чи розглядали ви очікування повного випуску? Поточний все ще досить баггі і мається на увазі лише як попередній перегляд для нетерплячих.
Вальтер

Чи встановили Ви інструменти продуктивності? У моєму випадку вони сильно врізалися в порівнянні з ... Керретнлі зараз виділився в vNext PRojects
Boas Enkler

Це все ще відбувається в VS2015 Professional. Жодна з відповідей у ​​цій темі не вирішує питання назавжди. Підсвічування синтаксису залишається порушеною.
Джастін Скілз

Якщо жодна з наведених нижче відповідей не вирішує проблему, ви можете подивитися тут: stackoverflow.com/questions/33245041/… Встановлення .NET Core 1.0.0 вирішило проблему для мене. Я почав із того ж питання, але також виникли проблеми із веб-шаблонами (недоступні для нових проектів). Прапорець "Інструменти для веб-розробників Microsoft" (як описано в одній з відповідей нижче) завжди перевірявся.
Руард ван Ельбург

Перевірте свою версію 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.


7
Це працювало для мене. VS 2015 Enterprise Version 14.0.23107.0 D14REL
Toft

3
Дякую. Це кращий спосіб замість скидання всіх даних користувачів у VS2015 Enterprise
kapsiR

1
Працював на підприємстві VS 2015 Enterprise
Закон

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).

ПРИМІТКА. Якщо ви це зробите, ви втратите всі налаштування, наприклад, комбінації клавіш та макет вікон!

EDIT: Люди кажуть, що це працює лише для RC, а не для RTM, тому ви можете спробувати спочатку інші виправлення.


Хоча це, мабуть, не найкраще рішення, воно працювало для мене! Дякую! Мені цікаво, чи було це пов’язано з встановленням попередніх версій CTP.
DLeh

2
ви можете експортувати вкладиші клавіш раніше, а потім відновити їх
Консоль

Чи правильно в цьому командному рядку є каретка '>'? Це спрацювало для мене, замінивши його на зворотній косій рисі. Але це рішення потім працювало і для мене!
Микола Петерсен

1
І ти втрачаєш усіх Аддонів.
Кнерд

1
У мене є версія Enterprise (VS 2015) . чи можливе рішення для цієї версії? вище рішення для мене не працювало.
Зеешан

26

У мене була така ж проблема в VS 2015 RTM, і я зміг її виправити, просто завантаживши Visual Studio у безпечний режим:

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

потім нормально закрити та повторно відкрити.


1
Це все ж спрацювало для мене, варто спробувати. Ви не втратите поточні налаштування.
Нік

Це не спрацювало для мене, що помилка з'являється і в SafeMode (і очевидно, після повторного відкриття "стандартним" способом).
T-moty

Дякуємо, що врятували мене від втрати налаштувань!
грмбл

Працював на моєму підприємстві VS 2015
Тамім Аль Манасеер

Дивовижно! працював і для мене. Варто спробувати, я кілька разів видував свої налаштування.
Дієго

10

Після оновлення оновлення Visual Studio 2015 1 у мене виникла та сама проблема. Я спробував усі відповіді, але у мене не вийшло.

Для мене виправились програми та властивості> Видання спільноти Visual Studio> Змінити. Я натиснув на змінити.

У списку обов’язково поставте прапорець "Інструменти для веб-розробників Microsoft" у розділі "Windows і веб-розробка".

У моєму списку не зареєстровано Howewer: /

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


На жаль, коли я спробував це, галочка просто повернулася. : <Він відмовився йти геть. : <Ще не втримався з цією проблемою. : <Дуже галочку в VS зараз. : <величезна раковина часу.
Фенрі

Погляньте тут: stackoverflow.com/questions/33245041/… Симптоми однакові. Я вирішив це питання, встановивши .NET Core 1.0.0
Руард ван Ельбург

7

Інструменти> Опції> Текстовий редактор> Усі мови> Загальні. Зніміть прапорець приховати параметр Сховати розширені члени. Натисніть кнопку ОК.

Колись я це зробив, Інтеллісенс, здавалося, працює на мене. Потім я скинув її назад і зберігав функціональність. Я використовую корпоративне видання Visual Studio 2015.

Я спробував ResetUserData, і це не допомогло мені.


1
Добре це спрацювало тоді воно повернулося до непрацюючого
Шон

1
Це не працювало для мене з c #. Однак я ввімкнув текстовий редактор> C # і перевірив / потім зняв позначку "Сховати розширені члени", потім натиснув кнопку "ОК" і intellisense знову почав працювати.
Тоділо

це теж працювало для мене і було набагато кращим для скидання мого середовища!
Пол Керролл

Він продовжує перевірятися після того, як я знімаю його з
позначки

У мене виникла проблема, коли меню 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 не працювали для мене. Також були деякі скарги щодо продуктивності Power Tools 2015, які скаржилися на спливаюче вікно "помилки в роботі ActivityLog.xml" при запуску VS.

Отже, якщо у вас є подібні симптоми, ось як я це виправив на своїй машині:

  1. Запустіть "Почніть експериментальний екземпляр Visual Studio 2015" та відкрийте свій проект. Якщо інтелігенція спрацьовує і синтаксис бритви виділений, у вас є великі шанси, що наступне спрацює.
  2. Видаліть "Продуктивність електроінструментів 2015" та закрийте Visual Studio.
  3. Перейдіть %LOCALAPPDATA%\Microsoft\VisualStudio\і видаліть 14.0папку.
  4. Запустіть VS - він повинен запускатися, як тільки що встановлений.

PS Насправді, мені було потрібно кілька разів, щоб мій інтелінгенс працював, тому що я першим відключив PowerTools, і він знову зламав VS, коли він перевстановлений. Отже, вона потребує повної перевстановлення. Може бути спричинене іншим розширенням у вашому випадку.


Для мене працює! Visual Studio 2015 Enterprise.
Timber

Для мене працює без видалення "Productivity Power Tools 2015". Visual Studio 2015 Enterprise.
ШурикЕв

4

Це матиме ефект, якщо ваш проект MVC4. Детальніше дивіться тут . Також зауважте, що це буде виправлено у майбутньому випуску.
Як ви можете дізнатися, чи ваш проект MVC4? Відкрийте пакети.config та перейдіть до записи для Microsoft.AspNet.Mvc. Якщо перелічена версія починається з "4", це означає, що ви використовуєте MVC 4.


Це справді проблема для мене і / resetuserdata не допомагає :(
chrilith

Для отримання додаткової інформації: asp.net/mvc/overview/releases/…
Micaël Félix

Це не має нічого спільного з MVC4. Проекти з MVC5 та 6 все ще страждають від цих питань.
Джастін Скілз

це те, що я врешті-решт виявив причину. Мій проект був MVC 3. VS 2015 не підтримує MVC 3. Нічого іншого я не намагався працювати.
RMuesi

4

У мене була подібна проблема, коли будь-який сценарій бритви не був би виділений, intellisense не працюватиме, а компілятор не розпізнає жодних помилок (навіть там, де я навмисно вкладав синтаксичні помилки!)

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

Сподіваюся, що це допомагає!


Це працювало для мене. Доводилося також видаляти вручну деякі елементи з папки Razor-Server, які були заблоковані в процесі компіляції.
Руді Скоггінс

3

Деякі погляди спрацювали для мене чудово, інші - зовсім ... Єдине, що мені допомогло:

  • Закриття VS
  • Видалення C: \ Users \% username% \ AppData \ Local \ Temp
  • Перезапуск VS
  • Проблема вирішена

Я спробував і більшість інших рішень, але вони не працювали для мене.


2

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

Малі регістри @model- це директива, яка сильно видає погляд на екземпляр класу, який слідує за ним. Тоді як великі літери Model- це властивість представлення, яке отримує модельний екземпляр.


1

Я вирішив проблему, включивши файл у проект / рішення. Я б не помітив того, що немає підсвічування / інтелігенції, якщо вона не включена.


0

У мене була така ж проблема, і мені довелося завантажити та встановити "Майкрософт ASP.NET та веб-інструменти" та "Веб-програми". Після цього виділення синтаксису та інтелігенція Razor знову почали працювати.


Не мав для мене ефекту. VS2015 Professional.
Джастін Скілз

Я використовую спільноту VS2015. Ви пробували рішення Geir Sagbergs? У CMD запустіть: "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ devenv.exe" / ResetUserData
Огглас

2
Так. Я спробував кожне рішення у кожному потоці на StackOverflow. Нічого не спрацювало. Я навіть перевстановив VS та свою операційну систему.
Джастін Скілз

Якщо після перевстановлення ви створюєте новий проект консолі, він там не працює?
Огглас

0

Для мене працювали видалення та перевстановлення наступного:

Microsoft.AspNet.Mvc

Microsoft.AspNet.WebPages

Microsfot.AspNet.Razor

Я спробував скинути дані користувача, видаливши temp і 14, а також змінивши параметри параметрів, і жодне з них не працювало. Я навіть спробував відремонтувати та перевстановити. Я використовую VS 2015 Версія 14.0.24720.00 Оновлення 1


Це працювало і для мене, у мене був сайт 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 -> Змінити) Web Developer Tools(це інша версія вище)

Тому проблема полягала в тому, що інсталятор VS не встановив Інструменти веб-розробників, розпізнаючи вже встановлену, несумісну версію як належну.


0

Я вирішив цю проблему, оновивши мій проект до ASP .NET MVC версії 5. Але це вимагало певних маніпуляцій з файлами конфігурації. Тут я знайшов покрокове керівництво:

  • у global.asax, зміна: WebApiConfig.Register (GlobalConfiguration.Configuration); до GlobalConfiguration.Configure (WebApiConfig.Register);
  • Переконайтесь, що всі пакунки, які використовуються у ваших проектах, сумісні з MVC 5 та Web API 2
  • Видаліть будь-який із встановлених нижче пакетів ASP.NET NuGet:
    1. Microsoft.AspNet.WebPages.Administration
    2. Microsoft-Web-Helpers ( не плутайте з Microsoft.AspNet.WebHelpers! )
    3. Microsoft.AspNet.Mvc.FixedDisplayMode
  • Оновіть всі пакети ASP.NET NuGet. У консолі диспетчера пакунків можна виконати таку команду: 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. Якщо ви видалили пакет Microsoft-Web-Helpers NuGet у попередніх кроках, встановіть Microsoft.AspNet.WebHelpers із наступною командою на консолі диспетчера пакунків: Install-Package -Id Microsoft.AspNet.WebHelpers

Сподіваюся, це допоможе.


0

Неінвазивним підходом є перевірка файлів Views web.config на правильність версій. Ці файли Web.config знаходяться в додатку / 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" />

0

Те, що працювало для мене (спільнота VS 2015), був варіантом, запропонованим у цій відповіді. Запуск cmd.exe як адміністратор, я запустив наступне:

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

0

Я завантажував і встановлював "Microsoft ASP.NET і веб-інструменти" та "Веб-програми", і це працювало на мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.