Visual studio очистить кэш

Обновлено: 07.07.2024

Я попробовал очистить/перестроить решение, закрыть Visual Studio и даже перезагрузить компьютер. Я также позаботился о том, чтобы выполнить шаги, описанные в прогонах Debugging, даже с ошибками компилятора в Visual Studio. Я могу изменить файлы .cs, и я вижу изменения в решении.

Есть ли у кого-нибудь представление о том, почему он это делает?

Если у вас есть ReSharper, попробуйте очистить кеш ReSharper:

В меню ReSharper> Параметры> Среда> Общие> Очистить кэш

и отключение и повторное включение ReSharper:

В меню Инструменты> Параметры> ReSharper> Общие> Приостановить/Восстановить

Во всяком случае, у меня все еще были проблемы, когда я нашел эту статью:

Итак, я удалил скрытый файл .SUO на том же уровне папок с решением, и он волшебным образом решил все красные.

Примечание. Для Visual Studio 2015 файл .SUO находится в скрытой папке .vs/[solution_name]/v14.

tldr; Выгрузите и перезагрузите проблемный проект.

Когда это происходит со мной, я (раньше) пытался закрыть VS и снова открыть его. Это, вероятно, работало примерно половину времени. Если это не помогло, я бы закрыл решение, удалил файл .suo (или всю папку .vs) и заново открыл решение. До сих пор это всегда работало для меня (более 10 раз за последние 6 месяцев), но это немного утомительно, потому что некоторые вещи сбрасываются, такие как режим сборки, запуск проекта и т.д.

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

Примечание. По-видимому, это работает для VS 2019, 2017 и 2015.

Я очистил раствор, закрыл VS, снова открыл его, построил решение, и красные неразрешенные линии были очищены, а сборка выполнена успешно.

Я обнаружил, что это часто случается при использовании Git в Visual Studio 2017, переключая ветки, где есть зависимые изменения кода. Даже если проект будет успешно построен, в списке ошибок останутся ошибки.

Эти ошибки часто являются проблемами пространства имен и отсутствующими ссылками, даже если ссылка на библиотеку существует.

  • Закрыть Visual Studio
  • Удалите файл .vs\SlnName\v15.suo (скрытый)
  • Перезапустите Visual Studio

Я пробовал все 6 вариантов, ничего не работало для меня. Ниже решения была решена моя проблема.

Удаление и повторное добавление ссылки на проект во всех проектах-ссылках устранит проблему, но основная причина может быть устранена путем редактирования .proj файла проблемного проекта.

а во всех ссылочных проектах файлы .csproj были ссылками на проект:

Ссылка GUID не соответствует GUID проекта. Замена выше на устраняет проблему без необходимости проходить через каждый проект ссылки.

Удалите скрытый путь к файлу = вашего решения\.vs\Имя вашего решения\v15\.suo

для VS-2017 удаленная папка.vs работала для меня.

Я заметил, что иногда при переключении веток git Visual Studio (2017) не распознает типы из некоторых файлов, которые были добавлены во второй ветке. удаление папки .vs решает ее, но она также удаляет все настройки вашего рабочего пространства. Мне кажется, этот трюк хорошо работает:

Это заставляет Intellisense анализировать файл, который он пропустил при переключении веток.

Вариант 1. Очистка, сборка и обновление (@Mike Fuchs)

Как упоминалось в @Mike Fuchs, попробуйте выполнить следующие действия:

выберите нужный проект и нажмите кнопку обновления:

Вариант 2. Очистить, закрыть, перезапустить и собрать (опция@Pixel)

Как упоминалось в @Pixel, попробуйте выполнить следующую последовательность действий:

  1. Очистить раствор
  2. Закройте Visual Studio
  3. Откройте Visual Studio
  4. Построить решение

Вариант 3. Очистить кеш ReSharper (@GammaOmega)

Если у вас есть ReSharper, попробуйте очистить кеш ReSharper:

In menu, ReSharper > Options > Environment > General > Clear Caches

и отключение и повторное включение ReSharper:

In menu, Tools > Options > ReSharper > General > Suspend/Restore

Вариант 4. Удалите файл .suo(@Neolisk)

.Как упоминалось в @Neolisk, удаление файла .suo может решить вашу проблему. Для Visual Studio 2015 файл находится в:

А для Visual Studio 2017:

Обратите внимание, что каталог .vs скрыт.

Вариант 5. Выгрузка и перезагрузка проекта (@TTT)

Как уже упоминалось @TTT, попробуйте выгрузить проект, который вызывает проблемы:

In Solution Explorer, right-click on project, Unload Project.

И перезагрузите его

In Solution Explorer, right-click on project, Reload Project.

Вариант 6. Удалите и добавьте ссылку на Microsoft.CSharp(@Guilherme)

Следующее решение сработало для меня

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

Проблема:

Проект строит штраф, но Intellisense не распознает определенные типы и помечает определенное с using заявления как недействительные.

Решение:

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

В моем конкретном случае это была ссылка на службу, другая разработчик слилась с основной ветвью. Это было прекрасно, но подсветка синтаксиса не смогла разрешить созданный класс сервиса, а источник был выделен красным цветом. Очистка, перестройка, перезапуск ничего не сделали.

Я только что столкнулся с этой проблемой после того, как вернул фиксатор git, который добавил файлы обратно в мой проект.

Очистка и восстановление проекта не сработали, даже если я закрыл VS между каждым шагом.

Что в конечном итоге сработало, переименовал файл в другое и снова изменил его.: Facepalm:

После проверки всех перечисленных вариантов я обнаружил еще одну причину, почему это может произойти. Если кто-то отправил вам исходный код в виде zip или загрузил zip, Windows, возможно, заблокировала все файлы. 2 способа решить эту проблему:

Способ 1:

Способ 2:

Если это не опция, а не открытие свойств для каждого файла в папке решения, просто откройте оболочку питания и разблокируйте рекурсивно, используя следующее:

  1. сначала закройте решение.
  2. затем удалите файл кэша решения (в папке C:\Users\Documents\Visual Studio\Backup Files/файле кэша проекта)
  3. затем.suo удалить файл
  4. то решение открывается и строится.

Я надеюсь решить вашу проблему

Была эта проблема на работе (работает VS2017). Перепробовал все ответы здесь. Нет радости

Проект строился бы просто отлично, но жаловался, что не удалось найти пространства имен/типов. Красные повороты повсюду. Много ошибок в окне списка ошибок.

Мое решение содержало 3 проекта.

Обнаружено, что 3 из ссылок на библиотеку NuGet для одного из проектов были вне очереди. Консолидированы ссылочные версии библиотеки и бинго.

Надеюсь, это кому-нибудь поможет.

Выгрузить и перезагрузить проект исправил эту проблему.

Удаление папки .vs решило мою проблему.

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

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

В этом случае возникла проблема с тем, что Visual Studio не распознал один тип, который показал красную отблеску, даже если решение было успешно построено. Я заметил, что в обозревателе решений у него не было стрелки расширения слева, где показаны классы и свойства при расширении.

Исправлено: Исключить файл из проекта и сохранить/построить, из-за которого возникла ожидаемая ошибка, а затем Включить файл в проект и сохранить и построить.

После выполнения этих шагов Visual Studio снова начала распознавать мой тип. Если посмотреть на diff в git, то проблема возникла из-за несоответствий строк в строке <Compile Include=". " /> моего файла .csproj.

в моем случае vs никогда не сохранял импортированные пространства имен в свойствах проекта> ссылки

когда я попытался добавить/проверить их снова, я не мог и vs забросил ошибку, и когда был спасен проект vs разбился. Когда я снова открывал все стандартные импортированные пространства имен (system.data и т.д.), Все снова были отмечены галочкой, и тогда он распознавал все без ошибок

TL; DR: выполнить чистую переустановку Visual Studio

Как уже упоминалось, в моем случае затронуты только классы STL. IntelliSense не отображает своих членов, что нечетно. Я думал, это может быть связано с прекомпилированными заголовками. Где-то я читал, что STL и проект должны быть на одном диске и помещать их на то же самое, чтобы решить проблему. Но ни один из этих маршрутов не привел к успеху.

Я обнаружил, что это может произойти, если указанный проект нацелен на более высокую версию фреймворка, чем проект, который пытается его использовать. Вы можете сказать, если это проблема, перейдя в окно вывода и ища что-то похожее на это:

Решение состоит в том, чтобы изменить целевую структуру того или иного проекта.

Попробуйте навести курсор мыши на подчеркнутые элементы. Обычно это говорит вам, в чем проблема. Чтобы просмотреть список всех ошибок/предупреждений, перейдите в View = > Список ошибок. Таблица должна открываться в нижней части IDE со всеми перечисленными ошибками/предупреждениями.

Читайте также: