После установки и последующего ремонта моего экземпляра 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.ContainLanguage.RazorVersion.IRazorVersion. .GetVersion (ITextBuffer textBuffer) в Microsoft.Html.Editor.ContainLanguage.Razor.RazorUtility.TryGetRazorVersion (ITextBuffer textBuffer, Version & razorVersion) в Microsoft.Html.Editor.ContainLanguageRuffer.RazorBuffer (ITextBuffer). внутренней трассировки стека исключений --- в System.RuntimeMethodHandle.InvokeMethod (цель объекта, аргументы Object [], сигнатура сигнатуры, логический конструктор) в System.Reflection.RuntimeConstructorInfo.Invoke (BindingFlags invokeAttr, связыватель привязки, параметры Object [], привязка CultureInfo) в System.RuntimeInfoTypelags (язык и региональные параметры) в System.RuntimeInfoTypelags. , Binder binder, Object [] args, CultureInfo culture, Object [] activateAttributes, StackCrawlMark и stackMark) в System.Activator.CreateInstance (Type type, BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] activateAttributes) в System.Activator.CreateInstance (Type type, Object [] args) в Microsoft.Html.Editor.ContainLanguage.Common.ConolatedCodeErrorTaggerProvider'1.CreateTagger [T] (ITextBuffer textBuffer) в Microsoft.VisualStudio.Textregator.Tagging.A1.GatherTaggers (ITextBuffer textBuffer)
Если это поможет, у меня есть несколько настроек раскраски шрифтов и установлены расширения Web Essentials, Bundler & Minifier и Web Compiler.
ОБНОВЛЕНИЕ : это происходит либо когда я открываю существующее веб-приложение, либо когда я создаю новое с нуля. Также на том же компьютере установлен и запущен экземпляр VS2013 .
Как вы можете видеть на картинке выше, я не получаю никакого intellisense и никакой раскраски кода.
Есть какие-нибудь подсказки о том, как это исправить? Заранее спасибо.
источник
Ответы:
Я решил эту проблему сбросом пользовательских данных
и удалите папку ".vs" в моем проекте.
ВНИМАНИЕ: это сбросит все ваши пользовательские настройки. По сути, это похоже на восстановление заводских настроек по умолчанию. Вы потеряете все настраиваемые сочетания клавиш, установленные расширения и т. Д.
источник
devenv.exe /resetuserdata
не устранена ! К вашему сведению: я не получаю никаких ошибок, но VS не рисует синтаксис для представлений Razor.devenv.exe /resetuserdata
.Это повторялось и у меня, и, похоже, связано с обновлениями расширений, но я еще не смог винить что-то конкретное. Что мне удалось обнаружить, так это менее навязчивое решение.
В моем случае удаление содержимого этого каталога позволяет IDE восстановить:
%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache
Изменить: я только что наткнулся на это, что тоже может быть удобно - Очистить кеш компонентов MEF (открытая галерея VSIX)
источник
FWIW, у меня была эта проблема с VS 2015 Enterprise на двух разных машинах. На одной машине сброс пользовательских данных решил проблему (на время). На другом компьютере мне пришлось полностью удалить и переустановить VS, и проблема на время исчезла. На обеих машинах проблема вернулась после того, как я установил расширение (один раз при установке Web Essentials, один раз при установке Git Diff Margin).
Я сжег обращение в службу технической поддержки MSDN, и ответ был ... Да, это ошибка, MS знает об этом, и они работают над этим.
Не особо действенный ответ, но, тем не менее, ответ ...
РЕДАКТИРОВАТЬ: И что касается решения проблемы, я столкнулся с проблемой еще несколько раз с тех пор, как опубликовал этот «ответ». Совсем недавно я установил обновление для диспетчера пакетов NuGet, и при перезапуске VS возникла эта проблема. Я сбежал
devenv.exe /resetuserdata
, но это не помогло; он все еще был сломан. Итак, я попробовал еще раз (побежалdevenv.exe /resetuserdata
) и, bada bing bada boom, проблема исчезла (пока). Мораль кажется чем-то вроде «если сначала у вас не получится ...»источник
Возможно, это произошло из-за наличия ReSharper.
Это будет исправлено в будущих версиях, но на данный момент (версия 10.0.2) не работает. ReSharper переопределяет IntelliSense из Visual Studio, поэтому он не будет работать, что также объясняет, почему запуск
devenv.exe /ResetUserData
исправляет его, поскольку он удаляет ReSharper.Вручную верните мощность IntelliSense в VS через меню:
ReSharper
>>Enviroment
>>IntelliSense
>> Заполните следующее:А вот так должен выглядеть IntelliSense от VS:
источник
Я столкнулся с той же проблемой, но причина отличалась от других ответов.
Обновление Visual Studio (я подозреваю, что обновление TypeScript произошло в сентябре 2015 года) удалило компонент инструментов веб-разработчика Visual Studio 2015. Это приводит к тому, что IntelliSense не работает.
Я снова установил Инструменты веб-разработчика в параметрах установщика И удалил ComponentModelCache после установки. Это сработало для меня.
источник
Это сразу исправило это для меня.
В Visual Studio:
Нажмите Инструменты-> Параметры-> Текстовый редактор-> Все языки-> Общие. Снимите флажок «Автоматические элементы списка» Снимите флажок «Информация о параметрах» Установите флажок «Автоматические элементы списка» (да, тот, который вы только что сняли). Установите флажок «Информация о параметрах» тот, который вы только что сняли) Нажмите ОК
источник
Чтобы добавить свои 2 цента. Ни одно из предыдущих решений у меня не помогло, потом я нашел эту ссылку:
http://www.c-sharpcorner.com/blogs/how-to-resolve-intellisense-issue-in-visual-studio1
В частности этот
Оттуда я выбираю Visual C #
источник
В
/ResetUserData
Решение является лучшим выбором, но я также думаю , что я обнаружил возможную причину этого ...В настоящее время я использую Umbraco для создания макросов в BackOffice. Когда эти файлы создаются, я нажимаю кнопку «Скрыть / Показать все файлы», чтобы показать частичный макрос в моем решении, и подсветка синтаксиса Razor, похоже, перестает работать, поэтому я предполагаю, что в ваше решение добавлены новые файлы, которые не создаются непосредственно через VS вызвать эту проблему.
Даже при добавлении файлов в решение подсветка синтаксиса не работает.
источник
Есть другое решение, без сброса всех пользовательских данных
(но только макеты окон / панели инструментов):
закройте все экземпляры VS2015, [в конечном итоге сделайте резервную копию и] удалите папку:
"[User Directory]\AppData\Roaming\Microsoft\Visual Studio\14.0"
Теперь снова откройте VS2015: макет был сброшен до заводских настроек, но синтаксис Razor будет работать
источник
К вашему сведению: Моя установка VS 2015 PRO имеет полную установку со всеми третьими сторонами.
Я перепробовал все возможные решения, которые здесь, в статье, мне не помогли. То, что написал Крейг Голденсоф, частично помогло мне найти решение.
Итак, сначала я сделал: снимите все флажки для текстового редактора-> Все языки-> Завершение общего утверждения:
После нажатия OK - снова откройте диалоговое окно параметров: и проверьте все на тот же раздел:
и снова примените настройки. Вам необходимо перезапустить Visual Studio. После перезапуска потребуется время для загрузки, но после этого у меня все заработало.
источник
Иногда VS IDE вообще не отображает IntelliSense.
Я просто закрываю решение, закрываю VS, затем снова открываю, и проблема решена.
источник
Если ни один из других вариантов не работает, есть обходной путь. После ввода "." оператора, нажмите клавиши «Ctrl + Пробел», которые должны вызвать диалоговое окно IntelliSense.
У меня возникла эта проблема при работе с файлами бритвы .cshtml MVC.
источник
Это может показаться смешным, но просто для одного ...
Поместите точку останова на любую строку, а затем подождите 5 секунд, чтобы это не сработало, затем перейдите к первой строке и поместите там точку останова, и когда вы установите точку останова, он запросит настройки точки останова. нажмите на эти настройки и закройте их. Выполнено. ваш intellisense теперь работает.
У меня есть VS 2015 Community edition. Раньше был VS 2015 Enterprise, и это случилось, но после получения сообщества я обнаружил, что то же самое происходит и одно и то же решение работает для обоих.
Я нашел это решение случайно во время работы. Также делайте это, когда проект не запущен. И вы также можете удалить эту точку останова.
источник
Вам не нужно все сбрасывать, просто удалите все файлы
%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache
и перезапустите VS, все будет хорошо.источник
Я отправил этот ответ на другой вопрос SO, просто потому, что хочу, чтобы люди не тратили зря время, которое я только что потратил. Моя проблема заключалась в том, что я добавил файлы в проект, но не включил их. Поэтому я решил показать все файлы:
затем решил включить папки:
Проблема проявляется только тогда, когда вы открываете веб-сайт MVC как проект, а не когда вы открываете его напрямую как веб-сайт.
источник
Я смог исправить это только обновив версию веб-страниц, о которой я упомянул в другом аналогичном вопросе:
Razor intellisense не работает в VS 2015
источник
Моя была небольшая боль в кестере, но, похоже, работала. В моем случае это был файл .aspx, который больше не работал с intellisense (после того, как я тупо изменил имя файла .aspx ... урок усвоен!)
Круглый путь, но не так плохо, как удаление / переустановка, что ПОЛНОСТЬЮ излишне. Удачи всем! Надеюсь, MS исправит это в один из этих лет!
источник