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 через меню:
Resharper
→ Enviroment
→ IntelliSense
→ Заполните следующее:
![введите описание изображения здесь]()
И вот как выглядит 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 в качестве проекта, а не при открытии его непосредственно на веб-сайте.
Ответ 17
Я смог исправить это, обновив версию веб-страниц, о которой я упомянул в другом подобном вопросе:
Razor intellisense не работает в VS 2015