Visual Studio 2015 Сломанная бритва Intellisense

После установки и восстановления моего экземпляра VS2015 я все еще не могу заставить intellisense (серверную часть) работать в своих MVC-представлениях. Я получаю сообщение с сообщением о сообщении, как только я впервые открою в сеансе файл .cshtml и получаю адрес в файле Activitylog. Сообщение об ошибке, полученное в ActivityLog.xml(короткая версия):

System.ArgumentException: элемент уже добавлен. Ключ в словарь: 'RazorSupportedRuntimeVersion'

Здесь полная версия:

System.Reflection.TargetInvocationException: исключено исключение по цели вызова. --- > System.ArgumentException: элемент уже добавлен. Ключ в словаре: Добавлен ключ RazorSupportedRuntimeVersion: "RazorSupportedRuntimeVersion" в System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) в System.Collections.Hashtable.Add(ключ объекта, значение объекта) в System.Collections.Specialized.HybridDictionary.Add(ключ объекта, объект значение) при Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty(Объект ключ, свойство объекта) в Microsoft.VisualStudio.Html.Package.Razor.RazorVersionDetector.Microsoft.Html.Editor.ContainedLanguage.Razor.Def.IRazorVersionDetector.GetVersion(ITextBuffer textBuffer) в Microsoft.Html.Editor.ContainedLanguage.Razor.RazorUtility.TryGetRazorVersion(ITextBuffer textBuffer, Version & razorVersion) в Microsoft.Html.Editor.ContainedLanguage.Razor.RazorErrorTagger..ctor(ITextBuffer textBuffer) --- Конец внутренней трассировки стека исключений --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object [] аргументы, Signature sig, Boolean constructor) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, связующее связующее, параметры Object [], культура CultureInfo) в System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Связующее связующее, Object [] args, CultureInfo culture, Object [] activAttributes, StackCrawlMark & stackMark) при System.Activator.CreateInstance(Тип типа, BindingFlags bindingAttr, Связующее связующее, Object [] args, CultureInfo culture, Object [] activAttributes) в System.Activator.CreateInstance(Тип типа, Объект [] args) в Microsoft.Html.Editor.ContainedLanguage.Common.ContainedCodeErrorTaggerProvider'1.CreateTagger [Т] (ITextBuffer textBuffer) в Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator'1.GatherTaggers(ITextBuffer TextBuffer)

Если это поможет, у меня есть некоторые настройки раскладки шрифтов и установлены расширения веб-Essentials, Bundler и Minifier и Web Compiler.

UPDATE: это происходит либо при открытии существующего веб-приложения, либо при создании нового с нуля. Там также установлен экземпляр VS2013 на той же машине.

Нет intellisense вообще

Как видно из рисунка выше, я не получаю никакого интеллигенции вообще и никакого цвета кода.

Есть ли подсказка о том, как его исправить? Спасибо заранее.

Ответ 1

Я решил эту проблему, сбросив данные пользователя

devenv.exe /resetuserdata

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


ПРЕДУПРЕЖДЕНИЕ: это будет reset все ваши пользовательские настройки. По сути, это похоже на сброс настроек factory по умолчанию. Вы потеряете любые пользовательские сочетания клавиш, расширения, которые вы установили и т.д.

Ответ 2

Это также повторяется для меня и, похоже, связано с обновлениями расширений, но я еще не смог винить ничего конкретного. То, что я смог обнаружить, - это менее навязчивое решение.

В моем случае удаление содержимого этого каталога позволяет восстановить IDE:

%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

Изменить: я просто натолкнулся на это, что тоже может быть полезно - Очистить кэш-память MEF (Открыть галерею VSIX)

Ответ 3

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

Я сжег приложение технической поддержки MSDN, и ответ был... Да, это ошибка, MS знает об этом, и они работают над этим.

Не особенно эффективный ответ, но ответ тем не менее...

РЕДАКТИРОВАТЬ: И по вопросу об устранении проблемы, я столкнулся с проблемой еще несколько раз, так как я разместил этот "ответ". Совсем недавно я установил обновление в NuGet Package Manager, а когда перезагрузился VS, у него возникла такая проблема. Я побежал devenv.exe /resetuserdata, но это не помогло; он все еще был сломан. Так что я снова попробовал (бежал devenv.exe /resetuserdata) и, бада бунга бада, проблема исчезла (пока). Нравственность кажется чем-то вроде "если сначала вам не удастся..."

Ответ 4

Возможно, произошло дуо с Resharper.
Он будет исправлен в будущих версиях, но на данный момент (версия 10.0.2) он сломан. Resharper переопределяет intellisense Visual Studio, и поэтому он не будет работать. Это также объясняет, почему запуск devenv.exe /ResetUserData исправляет его, поскольку он удаляет Resharper.

Вручную верните силу intellisense для VS через меню:
ResharperEnviromentIntelliSense → Заполните следующее:
введите описание изображения здесь

И вот как выглядит intellisense от VS:
введите описание изображения здесь

Ответ 5

Я встретил ту же проблему, но причина была отличной от других ответов.

Обновление Visual Studio, я подозреваю, что обновление TypeScript в сентябре 2015 года, удалило компонент веб-разработчиков Visual Studio 2015. Это заставляет Intellisense не работать.

Я снова установил Web Developer Tools в настройках установки и удалил ComponentModelCache после установки. Это сработало для меня.

Ответ 6

Это сразу исправило это для меня.

В Visual Studio:

Нажмите Сервис- > Параметры- > Текстовый редактор- > Все языки- > Общие Снимите флажок "Элементы автоматического списка" Снимите флажок "Информация о параметрах" Установите флажок "Автоссылки" (да, тот, который вы только что сняли) Проверьте "Информация о параметрах" (опять же, тот, который вы только что сняли) Нажмите ОК

Ответ 7

Чтобы добавить свои 2 цента. Ни один из предыдущих решений не работал у меня, тогда я нашел эту ссылку:

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

В частности, этот

Решение 4:

Далее, reset Настройки из следующего местоположения.

Инструменты- > Параметры импорта и экспорта → Reset все настройки.

Оттуда я выбираю Visual С#

Ответ 8

Решение /ResetUserData - ваш лучший выбор, но я также думаю, что выяснил возможную причину этого...

В настоящее время я использую Umbraco для создания макрообработок в BackOffice. Когда эти файлы создаются, я нажимаю кнопку "Скрыть/Показать все файлы", чтобы показать макрос Partial в моем решении, а выделение синтаксиса Razor, похоже, перестает работать, поэтому я думаю, что новые файлы, введенные в ваше решение, которые не создаются напрямую через VS вызывают эту проблему.

Даже при добавлении файлов в решение синтаксическая подсветка не работает.

Ответ 9

Иногда VS Ide не показывает Intellisense вообще. Я просто закрываю решение. Закрыть VS. Затем снова откройте его, и проблема будет решена.

Ответ 10

Существует еще одно решение без reset всех пользовательских данных

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

закрыть все экземпляры VS2015, [в конечном итоге резервное копирование и] удалить папку:

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

Теперь откройте VS2015: макет был от reset до factory пресета, но синтаксис Razor будет работать

Ответ 11

FYI: Моя установка VS 2015 PRO имеет полную установку со всеми 3-мя сторонами.

Я пробовал все возможные решения, что здесь, в статье, это мне не помогло. То, что написал Крейг Голденсоф, помогло мне частично найти решение для меня.

Итак, сначала я сделал: снимите все флажки для Текстового редактора- > Все языки- > Завершение общего заявления: введите описание изображения здесь

После того, как нажмите OK - снова закройте диалоговое окно опций: и проверьте все в том же разделе: введите описание изображения здесь

и снова применить настройки. Вам необходимо перезапустить свою визуальную студию. После перезагрузки потребуется некоторое время для загрузки, но после этого он работал у меня.

Ответ 12

Если ни одна из других опций не работает, существует обходной путь. После ввода "." оператор нажимает клавиши "Ctrl + Space", которые должны принудительно отображать диалоговое окно Intellisense.

У меня возникла эта проблема при работе с файлами .cshtml MVC razor.

Ответ 13

У меня была небольшая боль в кейсере, но, похоже, она работала. В моем случае это был файл .aspx, который больше не будет делать intellisense (после того, как я глупо изменил имя файла .aspx... извлеченный урок!)

  • Я скопировал весь свой код из файлов (.aspx и .cs) в блокнот, например.
  • Удален файл .aspx(который, в свою очередь, удаляет все дочерние файлы).
  • Сохранен мой проект. Создал новый .aspx файл с тем же именем.
  • Скопировать/вставить мой код из блокнота.
  • Сохранено.
  • Пробовал снова intellisense. Это сработало!

Круглый, но не так плохо, как удаление /vs переустановка, которая TOTALLY overkill. Всем удачи! Надеюсь, MS будет исправлена ​​в течение этих лет!

Ответ 14

Это может показаться забавным, но просто сделать что-то...

Поместите точку останова на любую строку, а затем подождите 5 секунд, чтобы не работать. перейдите к первой строке и поставьте точку останова там, и когда вы положите точку останова, она попросит настройки точки останова. введите описание изображения здесь нажмите на эти настройки и закройте эти настройки. Готово. теперь вы работаете intellisense.

У меня есть версия VS 2015 Community. Ранее было VS 2015 Enterprise, и это произошло на этом, но после получения сообщества я обнаружил, что то же самое происходит, и одно и то же решение работает для обоих.

Я нашел это решение случайно во время работы. Также сделайте это, когда проект не запущен. И вы также можете удалить эту точку прерывания.

Ответ 15

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

Ответ 16

Я отправил этот ответ на другой вопрос, только потому, что я хочу, чтобы люди не теряли время, которое я просто потратил впустую. Моя проблема заключалась в том, что я добавил файлы в проект, но не включил их. Поэтому я решил показать все файлы:

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

затем выбрали включение папок:

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

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