Visual Studio 2015 "Зламаний Intellisense Razor"


140

Після встановлення та ремонту мого екземпляра VS2015 я все ще не можу змусити intellisense (сторону сервера) працювати у своїх представленнях MVC. Мені надходять сповіщення у відповідь на повідомлення, як тільки я вперше відкриваю в сеансі файл .cshtml і отримую адресу до файлу Activitylog. Повідомлення про помилку, отримане в ActivityLog.xml (коротка версія):

System.ArgumentException: Елемент вже додано. Ключовий словник: 'RazorSupportedRuntimeVersion'

Ось повна версія:

System.Reflection.TargetInvocationException: Виняток було кинуто ціллю виклику. ---> System.ArgumentException: Елемент вже додано. Ключовий словник: 'RazorSupportedRuntimeVersion'Ключ додається: "RazorSupportedRuntimeVersion" в System.Collections.Hashtable.Insert (ключ об'єкта, nvalue об'єкта, булева добавка) в System.Collections.Hashtable.Add (ключ об'єкта, значення об'єкта) в System.Collections.Specialized.HybridDictionary.Add (Об'єктний ключ, значення об’єкта) в Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty (Ключ об'єкта, Властивість об'єкта) у Microsoft.VisualStudio.Html.Package.Razor.RazorVersionDetector.Microsoft.Html.Editor.ConishedLangeeRend.Gendersion. .GetVersion (ITextBuffer textBuffer) у Microsoft.Html.Editor.ConishedLanguage.Razor.RazorUtility.TryGetRazorVersion (текст ITextBuffer), версія та razorVersion) у Microsoft.Html.Editor.andererCandererCafferr внутрішнього сліду стека винятку --- у System.RuntimeMethodHandle.InvokeMethod (аргумент об’єкта, аргумент Object [], Signature sig, булевий конструктор) в System.Reflection.RuntimeConstructorInfo.Invoke (параметри BindingFlags invokeAttr, Binder binder, Object [] параметри, культураInfo культура) на System.RuntimetIns (Link) , Binder binder, Object [] args, CultureInfo culture, Object [] activationAttributes, StackCrawlMark & ​​stackMark) на System.Activator.CreateInstance (Тип типу, BindingFlagsindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] activationAtributestes System.Activator.CreateInstance (Тип, об'єкт [] арг) при Microsoft.Html.Editor.ContainedLanguage.Common.ContainedCodeErrorTaggerProvider'1.CreateTagger [T] (ITextBuffer TextBuffer) в Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator »1.GatherTaggers (ITextBuffer textBuffer)

Якщо це допоможе, у мене є кілька налаштувань розфарбовування шрифтів, а також встановлено розширення Web Essentials, Bundler & Minifier та Web Compiler.

ОНОВЛЕННЯ : це відбувається або коли я відкриваю існуючий веб-додаток, або коли я створюю абсолютно новий з нуля. Існує також екземпляр VS2013, встановлений і працює на одній машині.

Взагалі немає інтелігенції

Як видно з малюнка вище, я взагалі не отримую ніякої інтелігенції, а також будь-якого забарвлення коду.

Будь-яка підказка про те, як це виправити? Заздалегідь спасибі.


1
Спробуйте запустити новий веб-проект, використовуючи веб-шаблон за замовчуванням. Якщо він працює, то питання пов'язане з вашим проектом. Принаймні, простіше її звузити.
Росді Касім

Вибачте Росді, я повинен був надати більше деталей. Я відповідно оновив текст вище. BTW, зберігаючи Google, я щойно знайшов відкритий зворотний зв'язок тут connect.microsoft.com/VisualStudio/feedback/details/1579142/…, який повідомляє про мою саме ту проблему.
Крістіан Мергі

Спробуйте це: stackoverflow.com/questions/17598359/… працював на мене
Knerd

Привіт Кнерде, факт полягає в тому, що я взагалі не відчуваю інтелігенції (див. Малюнок вище). Мені більше подобається основна проблема візуальної студії, ніж деякі неправильні налаштування проекту (я отримую той самий випуск у перегляді шаблонів за замовчуванням абсолютно нового проекту).
Крістіан Мергі

Ось як я вирішив дуже подібну проблему в RTS VS 2015: stackoverflow.com/a/32308899/1551276
Володимир Абашин

Відповіді:


127

Я вирішив цю проблему, скинувши дані користувача

devenv.exe /resetuserdata

і видаліть папку ".vs" у своєму проекті.


УВАГА: це скине всі ваші налаштування користувача. По суті, це як скидання до заводських налаштувань. Ви втратите будь-які власні комбінації клавіш, встановлені розширення тощо.


14
Мені не потрібно було видаляти папку .vs, щоб виправити свою проблему. resetuserdata вистачило
Філ

9
Просто переконайтеся, що ви запускаєте це з цієї папки "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \" спеціально, якщо на комп'ютері встановлено більше одного VS.
Мігель

10
Для мене питання devenv.exe /resetuserdata не виправили ! FYI: Я не отримую жодних помилок, але VS не малює синтаксис для видань Razor.
A-Sharabiani

7
Майте на увазі, що ви втратите всі налаштування Visual Studio, такі як розширення та облікові дані (облікового запису, в якому ви ввійшли)! Перед запуском VS потрібно закрити devenv.exe /resetuserdata.
fabriciorissetto

9
Перш ніж використовувати цю команду, знайте, що вона робить. Окрім незначних незручностей, таких як вихід із Visual Studio та повторна установка вікон, він також видалив кілька розширень та Resharper. Пошук правильних версій для перевстановлення зайняв більше часу, ніж я очікував.
Джейсон

162

Це також для мене повторюється і, здається, пов'язане з оновленнями розширень, але я ще не зміг звинуватити нічого конкретного. Що мені вдалося виявити - це менш нав'язлива резолюція.

У моєму випадку видалення вмісту цього каталогу дозволяє IDE відновити:

%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

Редагувати: Я щойно натрапив на цей, який також може стати в нагоді - Очистити кеш-компонент MEF (Відкрити Галерею VSIX)


6
ResetUserData працював для мене, але проблема повернулася. Це працює і набагато менш нав'язливе (не потрібно відновлювати всі розширення).
ChadT

13
Це працювало для мене без запуску devenv.exe / resetuserdata
Jaecen

4
Це працювало і для мене. Спершу я спробував команду resetuserdata, але, здавалося, нічого не зробив. Це спрацювало відразу!
yesman

4
Це працювало для мене, це траплялося кілька разів, і я завжди перезавантажував дані користувачів, і це жахливо, я використовую диспетчер розширень роумінгу, щоб полегшити перевстановлення розширень
ivi.hamiti

2
Не вдалося виправити проблему в VS2015 Professional. Підсвічування синтаксису та інтелігенція бритви все ще не працюють. Помилки не відображаються.
Джастін Скілз

11

FWIW, у мене була проблема з VS 2015 Enterprise на двох різних машинах. На одній машині перезавантаження даних користувача зникло (на деякий час) проблему. На іншій машині мені довелося повністю видалити та перевстановити VS, і проблема на деякий час відійшла. На обох машинах проблема повернулася після того, як я встановив розширення (один раз при встановленні Web Essentials, один раз при установці Git Diff Margin).

Я спалив випадок технічної підтримки MSDN, і відповідь була ... Так, це помилка, MS знає про це, і вони над цим працюють.

Не особливо прийнятна відповідь, але відповідь, тим не менше ...

EDIT: І що стосується вирішення проблеми, я ще кілька разів стикався з проблемою, оскільки опублікував цю "відповідь". Зовсім недавно я встановив оновлення до NuGet Package Manager, і коли VS перезапустив, у нього виникли проблеми. Я побіг devenv.exe /resetuserdata, але це не допомогло; його все одно зламали. Тому я спробував ще раз (побіг devenv.exe /resetuserdata), і, bada bing bada boom, проблема пішла (поки що). Мораль, здається, є чимось за принципом "якщо спочатку ти не досягнеш успіху ..."


Деякі попереджають, що це витирає абсолютно все, було б корисно. Конфігурація моєї панелі відсутня, підсвічування мого синтаксису відпало, і проблема все ще не виправлена. :( Як я можу повернути свої дані?
Генрі Інг-Сіммонс

8

Можливо, дует трапився б Resharper.
Він буде виправлений у майбутніх версіях, але на сьогодні (версія 10.0.2) він порушений. Resharper переосмислює інтелігенцію Visual Studio і тому він не працюватиме. Що також пояснює, чому запуск devenv.exe /ResetUserDataвиправляє його, оскільки він видаляє Resharper.

Вручну поверніть потужність інтелігенції до VS через меню:
ReSharper>> Enviroment>> IntelliSense>> Заповніть наступне:
введіть тут опис зображення

Ось як має виглядати інтелігенція від VS:
введіть тут опис зображення


6

Я зустрічався з тією ж проблемою, але причина відрізнялася від інших відповідей.

Оновлення Visual Studio, я підозрюю, що оновлення TypeScript відбулося у вересні 2015 року, видалив компонент «Інструменти веб-розробників» Visual Studio 2015. Це призвело до того, що Intellisense не працює.

Я знову встановив Інструменти веб-розробників у параметрах інсталятора та видалив ComponentModelCache після встановлення. Це працювало для мене.


Це вирішило і проблему для мене. Роблячи ремонт на VS2015 за допомогою програм додавання / видалення, я міг помітити, що Інструменти веб-розробників навіть не встановлені. Перевірка коробки та завершення відпрацьованого.
Андерс Якобсен

4

Це виправили це для мене відразу.

У Visual Studio:

Клацніть Інструменти-> Параметри-> Текстовий редактор-> Усі мови-> Загальне зніміть прапорець "Члени автоматичного списку" Зніміть прапорець "Інформація про параметр" Установіть прапорець "Автоматичні члени списку" (так, той, який ви тільки що не зняли) Перевірте "Інформація про параметри" (знову, той, який ви тільки що зняли) Клацніть OK


Спробував resetuserdata, видалити vssc, очистити кеш компонентів і не працював. Після того як я спробував це, і це працює! Дякую
c0demaster

4

Щоб додати мої 2 копійки. Жодне з попередніх рішень не працювало для мене, тоді я знайшов це посилання:

http://www.c-sharpcorner.com/blogs/how-to-resolve-intellisense-issue-in-visual-studio1

Зокрема цей

Рішення 4:

Далі скиньте Налаштування з наступного місця.

Інструменти-> Імпорт та експорт установок-> Скидання всіх налаштувань.

Звідти я вибираю Visual C #


1

/ResetUserDataРішення є кращим вибором, але я також думаю , що я виявив можливу причину цього ...

Наразі я використовую Umbraco для створення макропартій у BackOffice. Коли ці файли створюються, я натискаю кнопку Сховати / Показати всі файли, щоб показати макрос частковий у моєму рішенні, і підсвічування синтаксису Razor, здається, припиняє роботу, тому я гадаю, що у ваше рішення вводяться нові файли, які не створюються безпосередньо через VS викликати це питання.

Навіть при додаванні файлів до рішення підсвічування синтаксису не працює.


Цікаво, як я відчуваю це і з Umbraco. Umbraco 7.4.3 та VS 2015, зокрема ..
Брайан Лейсі

1

Іноді VS Ide взагалі не показує Intellisense. Я просто закриваю рішення. Закрити VS. Потім знову відкрийте його і проблема буде вирішена.


1

Є ще одне рішення, без скидання всіх даних користувачів

(але лише макети вікон / панелі інструментів):

закрити всі екземпляри VS2015, [зрештою створити резервну копію та] видалити папку:

"[User Directory]\AppData\Roaming\Microsoft\Visual Studio\14.0"

Тепер знову відкрийте VS2015: макет було скинуто до заводських налаштувань, але синтаксис Razor буде працювати


1

FYI: Моя установка VS 2015 PRO має повну установку з усіма третіми учасниками.

Я спробував усі можливі рішення, що тут, у статті, мені це не допомогло. Те, що написав Крейг Голденсоф, частково допомогло мені знайти рішення.

Отже, спершу я зробив: зніміть усі прапорці для редактора тексту-> Усі мови-> Завершення загальної заяви: введіть тут опис зображення

Після натискання кнопки "OK" - знову відкрити діалогове вікно "Опція": і перевірте все для того ж розділу: введіть тут опис зображення

і знову застосуйте налаштування. Вам потрібно перезапустити свою студію Visual. Після перезавантаження завантажуватиметься час, але після цього він працював для мене.


Загальна проблема. У всіх, що я читав, були подібні питання, і це завжди виправлялося по-різному. Я просто поділився тим, що мені допомогло. Вибачте, не вдалося вирішити для всіх.
Євген Босиков

1

Якщо жоден з інших варіантів не працює, є рішення. Після введення '.' Оператор натискає клавіші "Ctrl + Space", які повинні змусити з'явитися діалогове вікно Intellisense.

У мене виникла ця проблема під час роботи з .cshtml файлами бритви MVC.


0

Це може здатися смішним, але просто зробити одне.

Поставте точку розриву на будь-якій лінії, а потім зачекайте 5 секунд, які не працюють, тоді перейдіть до першого рядка і поставте там точку розриву, і коли ви поставите точку розриву, вона попросить налаштування точки перерви. введіть тут опис зображення натисніть на ці налаштування та закрийте ці налаштування. Зроблено. у вас зараз intellisense працює.

У мене є спільнота VS 2015. Очевидно, було VS 2015 Enterprise, і це сталося на цьому, але після отримання спільноти я виявив, що те саме відбувається і однакове рішення рішення для обох.

Я знайшов це рішення випадково під час роботи. Так само зробіть, коли проект не працює. Ви також можете усунути цю точку розриву.


0

Вам не потрібно скидати все, просто вийміть усі файли %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCacheі перезавантажте VS, це буде добре.


0

Я опублікував цю відповідь на інше запитання, просто тому, що я хочу завадити людям витрачати час, який я щойно витратив. Моя проблема полягала в тому, що я додав файли до проекту, але не включав їх. Тому я вирішив показати всі файли:

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

потім вирішили включити папки:

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

Проблема виявляється лише тоді, коли ви відкриваєте веб-сайт MVC як проект, а не тоді, коли ви відкриваєте його як веб-сайт безпосередньо.



0

У мене був невеликий біль у кестері, але, здавалося, працює. У моєму випадку це був .aspx файл, який більше не працюватиме інтелігенцією (після того, як я тупо змінив ім’я файлу .aspx ... урок вивчив!)

  1. Наприклад, я скопіював увесь код з файлів (.aspx & .cs) у блокнот.
  2. Видалено файл .aspx (який у свою чергу видалив усі дочірні файли).
  3. Зберегли мій проект. Створено новий .aspx файл з такою ж назвою.
  4. Скопіюйте / вставте мій код із блокнота.
  5. Зберегли це.
  6. Знову спробував інтелігенцію. Це спрацювало!

Поворотний шлях, але не такий вже й поганий, як видалення / проти перевстановлення, яке ВІДПОВІДНО перевищує. Успіхів усім! Сподіваємось, MS отримає це зафіксовано один із цих років!

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