Visual Studio отлично компилируется, но по-прежнему показывает красные линии

96

Я использую VS 2012, и он работал нормально, пока я не начал наблюдать какое-то забавное поведение. Когда я открываю свой код, он показывает красные подчеркивания, которые мы обычно видим, когда в нашем коде есть ошибка. Удивительно, но код компилируется нормально. Я сделал следующие наблюдения, которые совершенно ненормальны.

  1. Красные подчеркивания в коде
  2. При чистке или построении раствора ошибок нет.
  3. красные подчеркивания исчезают на некоторое время после того, как я построю / очищаю решение, но в конце концов возвращается.
  4. Из-за этого мой intellisense перестал работать.
  5. Я не могу щелкнуть правой кнопкой мыши по любому компоненту и перейти к его определению.

Любые идеи?

Потерянный
источник
Какой код показывает подчеркивание? Вы можете привести примеры?
Matth
Возможно, вы используете старый код? Попробуйте небольшую реализацию, которая что-то показывает, если ничего не происходит, возможно, вы используете старый код.
Макс
Вы используете Reshaper или какой-либо другой инструмент, который может подчеркивать подчеркивание?
AlG
Это во всех файлах кода? Это случилось со мной однажды, когда я открыл файл, который не был из моего решения, неспособность перейти к определению выдало его для меня.
Пьер-Люк Пино

Ответы:

48

Удалите содержимое временной папки ASP.NET, а затем перестройте. Он будет либо в вашей папке пользователя (для IIS Express - \ AppData \ Local \ Temp \ Temporary ASP.NET Files ), либо в каталоге Windows (для IIS - C: \ Windows \ Microsoft.Net \ Framework \ vx.xx \ Временные файлы ASP.NET )

Пути не в моей голове и могут быть неправильными

levelnis
источник
В качестве альтернативы, если это влияет только на один проект / решение, и вы используете git с соответствующими игнорирующими элементами для временных файлов, попробуйте зафиксировать изменения, удалить вашу рабочую копию и принудительно проверить свою ветку.
Кайл
3
что, если ошибка в Visual Studio для Mac? какой путь к этой папке?
Потерянные
1
Мне нужно было закрыть и открыть VS после, и он работает. Спасибо
MusicAndCode
170

Visual Studio 2017:

У .vsменя сработало закрытие Visual Studio и удаление папки, расположенной в каталоге решения.

У этой папки есть hiddenатрибут. Вам может потребоваться изменить настройки в параметрах папки, чтобы отображать скрытые файлы.

VeganHunter
источник
2
Для VS 2017 это решение работало там, где не работало ни одно из других на этой странице (например, очистка временных папок и очистка / bin и / obj). .Vs не был «спрятан» в моей системе, как уже упоминалось (тогда как, например, моя папка .git была, конечно, так что я мог заметить разницу).
secretwep
1
Я попытался удалить файл .suo, но он снова воссоздается, когда я перезапускаю VS 2017
Амит Кулат,
3
@AmitKulat Да, файл .suo представляет собой структурированное хранилище, которое создается Visual Studio и содержит множество настроек. Из-за какой-то ошибки перестает нормально работать. Таким образом, когда вы удалите его, он будет воссоздан с правильными настройками по умолчанию.
VeganHunter
4
«Неподдерживаемый ... Эта версия Visual Studio не может открыть следующие проекты ...» - всплывающее окно после удаления каталога .vs. Но это кажется безобидным. Нажмите кнопку ОК, и решение все равно откроется после отчета о миграции. Это может быть не связанная с этим проблема, которая неактивна до удаления .vs. Репортаж здесь для потомков.
Боб Штайн,
3
Это также работает для Visual Studio 2019 (предварительная версия. Удаление папки .vs)
Альберт Ромкс,
10

Просто возникла эта проблема при работе с решением, созданным в Visual Studio 2012, но запущенным в 2013 году. Я закрыл Visual Studio, удалил все каталоги \ bin и \ obj, и проблема исчезла.

Кевин Брайдон
источник
9

Для меня эта проблема была исправлена, когда я снова выгрузил и перезагрузил проект. Я работал на себя, надеюсь, это сработает и для вас :)

Skr
источник
7

Я знаю, что это устарело, но на случай, если люди найдут эту ветку, как я, в Google. У меня возникла эта проблема после разрешения некоторых конфликтов с svn. В решении есть несколько проектов, и я разрешил некоторые конфликты в нескольких разных проектах. Я сделал Build -> Clean Solution, а затем Build -> Rebuild Solution, и все снова было хорошо.

Лука
источник
7

У меня была эта проблема, и она была связана с ReSharper.

Шаги решения для меня:

1) Отключить ReSharper

VisualStudio\Tools\Options\ReSharper Ultimate\General\Suspend Now

2) Построить решение

(Ctrl-Shift-B)

3) Включите ReSharper

VisualStudio\Tools\Options\ReSharper Ultimate\General\Resume Now

Стив

самнерик
источник
Работал у меня. Да. ReSharper был проблемой.
Мухаммад Сакиб
6

Установлены ли у вас какие-либо плагины, например, resharper? У меня возникли проблемы с плохим плагином.

Попробуйте запустить Visual Studio в безопасном режиме, чтобы плагины не запускались.

devenv /Safemode
Марко
источник
10
Я использовал Resharper. Вы можете отключить ReSharper, нажав кнопку «Приостановить» в меню «Сервис» -> «Параметры» -> «ReSharper». Тогда возобновите это, мне это помогло.
Олег Кирильчук
5

Если вы используете Resharper, как я, вы можете удалить кеш resharper, перейдя по этой ссылке: https://www.jetbrains.com/help/resharper/Configuring_Caches_Location.html

To specify the location for caches

1. Open the Environment | General page of ReSharper options.
2. Use the Save solution caches in to select the location for cache files:
3. User local settings folder to store them in the following directory: %LOCALAPPDATA%\JetBrains\Transient
4.System TEMP folder to store them in the following directory: %TEMP%\ReSharperCache
5. Solution folder to store them in the root folder of the current solution
6. Custom folder to choose a custom location for ReSharper cache files.
7. Click Save to apply the modifications and let ReSharper choose where to save them, or save the modifications to a specific settings layer using the Save To drop-down list. For more information, see managing and sharing resharper settings.
8. Reopen your solution for the changes to take effect.
uzay95
источник
Кнопка «Очистить кеш» в среде | Общая страница настроек ReSharper решила мою проблему. Спасибо за подсказку!
nilsK
3

В vs2013 я решил эту проблему, удалив все мои папки obj / bin во всех проектах. Проблема, вероятно, была связана с конфигурациями решения, которые я удалил, но не был очищен должным образом, поскольку выполнение Build -> Clean Solution не удаляет старые выходные данные из папок obj / bin.

Роклан
источник
1

Что мне подходит, так это удаление индексного файла IntelliSense.

Файл IntelliSense находится в том же каталоге, что и ваше решение.

Имя файла - SolutionName.sdf

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

А.Францен
источник
1

Это сработало для меня в Visual Studio Enterprise 2017:

  1. Перейдите в Инструменты> Параметры> Текстовый редактор> JavaSCript / TypeScript> Линтинг> Общие.

  2. снимите флажок "Включить ESLint"

Джеральд
источник
1
После нескольких дней исследований, выгрузки / загрузки проектов и удаления множества папок .vs это стало основной причиной моей проблемы, поэтому я считаю это верным ответом. Пусть кто-нибудь, где-нибудь благословит тебя, сын мой.
Nandolcs
1

Я тоже столкнулся с этим и смог вернуть Visual Studio в нормальное состояние, выполнив следующие действия:

  1. Определите проект, от которого исходит код, обведенный красной линией
  2. Удалите проект красной линии из ссылок, где он используется (ProjectName \ References - щелкните правой кнопкой мыши, добавьте ссылки, снимите флажок с проекта красной линии)
  3. Сборка (теперь вы должны получить ошибки)
  4. Повторно добавьте ссылку на проект, которая была только что удалена
  5. Строим снова
  6. Красные линии должны быть удалены, и проект должен быть построен!
Брайан Микински
источник
1

У меня была такая же проблема с большим количеством красных линий в нескольких исходных файлах * cpp. Хотя код скомпилирован отлично. Ни одно из других решений не помогло мне.

Изменение порядка строк #include в файле * .cpp может привести к исчезновению красных строк и восстановлению порядка следования.

Затем я заметил, что файл заголовка был дважды включен в один файл * .cpp. Снял вторую и - все нормально.

Включение файла заголовка дважды в один и тот же файл * .cpp кажется не проблемой для компилятора, а для части intellisense.

Хартвин
источник
0

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

irsis
источник
3
Я не вижу решения в вашем ответе. «Похоже, что intellisense не смог разрешить зависимости самостоятельно ...» - вы говорите, «просматривая классы, структуры», вы помогли intellisense разрешить зависимости?
Sнаđошƒаӽ 08
4
@ Sнаđошƒаӽ Думаю, именно это он и говорит.
Роберт Колумбия
@RobertColumbia Не обижайтесь на OP, но я думаю, что это просто смешно.
Sнаđошƒаӽ 08
@ Sнаđошƒаӽ ну вот что он говорит. Если вы считаете, что эта стратегия бесполезна, проголосуйте против.
Роберт Колумбия
@ Sнаđошƒаӽ Ну, я добрался до публикации, потому что столкнулся с той же проблемой. Сначала я попробовал все ответы, прежде чем опубликовать то, что у меня сработало. Как и другие, ответили на основе своего опыта. Я не вижу в этом ничего плохого. Вместо этого он может помочь и кому-то другому.
irsis
0

Для меня одно время я включил ведение журнала слияния для отладки некоторых ошибок зависимостей сборки (fuslogvw из командной строки CMD). Это было несколько месяцев назад, и с тех пор время сборки значительно сократилось (5-7 минут). Я также совершенно забыл, что оставил их включенными. Эти журналы были моим узким местом, и их отключение сделало итерацию намного быстрее. Надеюсь, это кому-то поможет!

Таброк
источник
0

Я столкнулся с этой проблемой в последней версии Visual Studio 2017.
Также отладочная версия моей программы работала очень медленно.

Я удалил файл решения .slnи создал новый.

Юрген Д.
источник
0

Шаги, которые работают

  1. Откройте решение и перестройте все
  2. Закрыть решение
  3. Откройте решение и выполните чистку
  4. Закрыть решение
  5. Откройте решение и перестройте все
  6. Закройте, а затем откройте раствор, и все должно быть хорошо. Это работает для меня каждый раз

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

Хэмиш Редмонд
источник
0

Просто обновите проект / решение. Это будет решено.

SJ Karthi
источник
0

В моем случае с VS 2017 у меня есть много «красных линий», показанных под всеми символами, определенными в сторонней библиотеке, но мой проект действительно можно построить без проблем. Я пробовал все предлагаемые решения (например, удалить папку .VS, перезапустить VS и т. Д.), Но ни одно из них не работает.

Наконец, я исправил это, и вот как: я открываю страницу свойств своего проекта приложения, затем перехожу к «C / C ++ -> Общие -> Дополнительные каталоги включения», где я помещаю все необходимые пути заголовков сторонних библиотек. Я удаляю все пути (но сохраняю их где-нибудь), нажимаю «ОК» для подтверждения. Затем я вернулся к той же настройке, вставил этот путь обратно, щелкнул «ОК» для подтверждения, затем все эти «красные линии» исчезли.

Хункун Ван
источник
0

Нашел это решение:

  1. Закройте Visual Studio (убедитесь, что devenv.exe отсутствует в диспетчере задач).
  2. Удалить %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\xx\ComponentModelCache каталог.
  3. Перезапустите Visual Studio.
Даррелл
источник
0

У меня была эта проблема несколько месяцев, и я наконец ее исправил. Закрытие Visual Studio и удаление папки .vs, расположенной в каталоге решения, НЕ РАБОТАЕТ ДЛЯ МЕНЯ.

В файле web.config был тег assemblyIdentity, который ссылался на библиотеку, которой не было в моей папке ссылок. Я удалил этот тег, очистил, закрыл и снова открыл, и проблема была исправлена.

  1. Проверьте каждый из тегов assemblyIdentity в своем web.config и сравните их с папкой ссылок в проводнике решений.
  2. Удалите все теги assemblyIdentity, включая родительский тег loadedAssembly для всех, которые не указаны в вашей папке ссылок.
  3. Чистое решение
  4. Закройте и снова откройте решение
Бенджо
источник