Visual studio код ошибки 2

У меня проблема с Visual Studio в решении C#. Он отображает полностью случайные ошибки, но проекты строятся. Прямо сейчас у меня есть 33 файла с ошибками, и я вижу красные волнистые линии во всех из них.

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

20 ответов

вот коллекция популярных ответов. Upvote OP ответа, если это помогло вам:

Вариант 1: Очистить, построить и обновить (@Mike Fuchs)

As @Mike Fuchs упомянуто, попробуйте следующие операции:

затем построить его:

и, наконец, Обновить:

Refresh Button

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

As @ Pixel упомянуто, попробуйте следующую последовательность операций:

Вариант 3: Очистить кэш ReSharper (мой оригинальный вариант)

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

в меню ReSharper > параметры > окружающая среда > общие > очистить кэш

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

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

и для Visual Studio 2017:

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

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

в обозревателе решений щелкните правой кнопкой мыши проект, выгрузите проект.

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

в обозревателе решений щелкните правой кнопкой мыши проект, перезагрузите проект.

Вариант 6: выгрузка и перезагрузка проекта ( @Guilherme)

As @Guilherme упомянул, попробуйте удалить и добавить ссылка на «Microsoft. CSharp » из проектов, которые имеют проблемы.

в обозревателе решений разверните проект, разверните «ссылки», щелкните правой кнопкой мыши на » Microsoft. CSharp» и «удалить».

затем щелкните правой кнопкой мыши ссылки > добавить ссылку, выберите » Microsoft. CSharp » из списка и нажмите OK

интересно, что приостановка Resharper, казалось, решить проблему после 2-й перезапуск VS, но он вернулся после того, как я включил Resharper

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

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

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

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

Примечание: я использую Visual Studio 2015.

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

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

у меня была такая проблема, когда Intellisense, похоже, не распознал существование одного проекта (много «не могу найти этот тип», «это пространство имен не существует» и т. д. ошибки.)

в верхней части проекта «отсутствует».файл csproj является элемент:

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

возможно, вы пытаетесь сбросить кэш intellisense. У меня была аналогичная проблема в visual studio 2012 при работе в большом проекте со многими частичными определениями классов. Уменьшение частичных значений частично решило проблему, очистка кэша intellisense также-на некоторое время.

иногда мне приходится выполнять пользовательскую очистку, просматривая все проекты и вручную удаляя папки «bin» и «obj». Чтобы увидеть их в Visual Studio, необходимо включить скрытые файлы и папки для каждого проекта. После этого перестройте решение.

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

все, что мне нужно было сделать, это обновить ссылку на службу, и VS удалось собрать части вместе за кулисами. Нет изменений в исходном коде или сгенерированных файлах.

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

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

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

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

Способ 1:

Способ 2:

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

Конфигурация компилятора: Уровни предупреждений и ошибки

Предупреждения в языке С++

На этапе компиляции компилятор проверяет, соответствует ли ваш код правилам языка C++. Если вы сделали что-то запрещенное, что нарушило синтаксис языка С++, то компилятор выдаст ошибку, предоставив вам как номер строки, содержащий ошибку, так и некоторый текст о содержании самой ошибки. Фактически, ошибка может находиться как в этой строке (которую сообщил вам компилятор), так и в строке перед ней. После того, как вы определили и исправили ошибочные строки кода, вы можете попробовать скомпилировать вашу программу еще раз.

Еще могут быть ситуации, когда компилятор видит ошибочный код, но не до конца в этом уверен (помните, что философия языка С++ заключается в выражении «Доверяй программисту!»). В таких случаях компилятор может выдать предупреждение. Предупреждения не останавливают процесс компиляции, но сообщают программисту, что что-то пошло не так.

Совет: Не позволяйте предупреждениям накапливаться. Решайте их по мере возникновения (так, как будто бы это были ошибки).

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

В редких случаях может потребоваться явно указать компилятору не генерировать конкретное предупреждение для рассматриваемой строки кода. Язык C++ не поддерживает такой способ решения предупреждений, но многие отдельные компиляторы (включая Visual Studio и GCC) предоставляют возможность временного отключения предупреждений.

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

Совет: Сделайте максимальным уровень предупреждений от компилятора (особенно во время обучения). Это поможет вам определить возможные проблемы.

Изменение уровня предупреждений

Пользователям Visual Studio

Чтобы повысить уровень предупреждений в Visual Studio, щелкните правой кнопкой мышки по названию вашего проекта в меню «Обозреватель решений» > «Свойства» :

Пользователям Code::Blocks

Перейдите в меню «Settings» > «Compiler» :

И на вкладке «Compiler settings» > «Compiler flags» поставьте галочки возле следующих пунктов:

Enable all common compiler warnings (overrides many other settings) [-Wall]

Enable Effective-C++ warnings (thanks Scott Meyers) [-Weffc++]

Enable extra compiler warnings [-Wextra]

Пользователям GCC/G++

Добавьте следующие флаги в вашу командную строку:

Обработка предупреждений как ошибок

Вы также можете указать вашему компилятору обрабатывать все предупреждения так, как если бы они были ошибками (в таком случае, компилятор будет останавливать процесс компиляции, если обнаружит какие-либо предупреждения). Это хороший вариант заставить себя исправлять все предупреждения, особенно, если вам не хватает самодисциплины (как, впрочем, большинству из нас).

Пользователям Visual Studio

Чтобы обрабатывать все предупреждения как ошибки, щелкните правой кнопкой мышки по названию вашего проекта в меню «Обозреватель решений» > «Свойства» :

Пользователям Code::Blocks

Перейдите в меню «Settings» > «Compiler» :

Источники:

https://askdev. ru/q/visual-studio-otobrazhaet-oshibki-dazhe-esli-proekty-stroyatsya-9710/

https://ravesli. com/konfiguratsiya-kompilyatora-urovni-preduprezhdenij-i-oshibki/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: