Visual studio показывает несуществующие ошибки
Visual Studio provides a powerful integrated set of project build and debugging tools. In this article, find out how Visual Studio can help you find problems in your code using build output, code analysis, debugging tools, and unit tests.
You've figured out the editor and created some code. Now, you want to make sure the code works properly. In Visual Studio, as with most IDEs, there are two phases to making code work: building the code to catch and resolve project and compiler errors, and running the code to find run-time and dynamic errors.
Build your code
There are two basic types of build configuration: Debug and Release. The Debug configuration produces a slower, larger executable that allows for a richer interactive run-time debugging experience. The Debug executable should never be shipped. The Release configuration builds a faster, optimized executable that's appropriate to ship (at least from the perspective of the compiler). The default build configuration is Debug.
The easiest way to build your project is to press F7, but you can also start the build by selecting Build > Build Solution from the main menu.
You can observe the build process in the Output window at the bottom of the Visual Studio UI. Errors, warnings, and build operations are displayed here. If you have errors (or if you have warnings above a configured level), your build fails. You can click on the errors and warnings to go to the line where they occurred. Rebuild your project by either pressing F7 again (to recompile only the files with errors) or Ctrl+Alt+F7 (for a clean and complete rebuild).
There are two tabbed windows in the results window below the editor: the Output window, which contains the raw compiler output (including error messages); and the Error List window, which provides a sortable and filterable list of all errors and warnings.
When build succeeds, you see results like this in the Output window:
Review the Error List
Unless you've made no modifications to code you've previously and successfully compiled, you probably have an error. If you're new to coding, you probably have lots of them. Errors are sometimes obvious, such as a simple syntax error or incorrect variable name, and sometimes they are difficult to understand, with only a cryptic code to guide you. For a cleaner view of the issues, navigate to the bottom of the build Output window, and click the Error List tab. This takes you to a more organized view of the errors and warnings for your project, and gives you some extra options as well.
Click on the error line in the Error List window to jump to the line the error occurs in. (Or turn on line numbers by pressing Ctrl+Q, typing line numbers, and then choosing Turn line numbers on or off from the results. This is the fastest way to get to the Options dialog where you can turn on line numbers.)
Press Ctrl+G to quickly jump to the line number where the error occurred.
The error is identified by a red "squiggle" underscore. Hover over it for additional details. Make the fix and it will go away, although you may introduce a new error with the correction. (This is called a "regression".)
Walk through the error list and address all the errors in your code.
Review errors in detail
Many errors may make no sense to you, phrased as they are in the terms of the compiler. In those cases, you'll need additional information. From the Error List window, you can do an automatic Bing search for more information on the error or warning. Right-click on the corresponding entry line and select Show Error Help from the context menu, or click on the hyperlinked error code value in the Code column of the Error List.
Depending on your settings, either your web browser displays the search results for the error code and text, or a tab opens inside Visual Studio and shows the results of the Bing search. The results are from many different sources on the Internet, and not all may be helpful.
Use code analysis
Code analyzers look for common code problems that can lead to run-time errors or problems in code management.
C++ code analysis
To analyze C++ code, run static code analysis. Get in the habit of running it once you've cleaned up the obvious errors that prevent a successful build, and take some time to address the warnings it may produce. You'll save yourself some headaches down the road, and you may learn a few code style techniques.
Press Alt+F11 (or select Analyze > Run Code Analysis on Solution from the top menu) to start static code analysis.
Any new or updated warnings appear in the Error List tab at the bottom of the IDE. Click on the warnings to jump to them in code.
Use Quick Actions to fix or refactor code
Quick Actions can be used wherever code analyzers determine there's an opportunity to fix, refactor, or improve your code. Click on any line of code, right-click to open the context menu, and select Quick Actions and refactorings. If refactoring or improvement options are available, they are displayed. Otherwise, the message No quick actions available here displays in the lower-left corner of the IDE.
With experience, you can quickly use the arrow keys and Ctrl+. to check for easy refactoring opportunities and clean up your code!
Run Code Cleanup
In addition to formatting your file for spaces, indents, et cetera, Code Cleanup also applies a set of code style conventions that you define. Your preferences for each code style are read from the EditorConfig file, if you have one for the project, or from the code style settings in the Options dialog box.
Debug your running code
Now that you've successfully built your code and performed a little clean up, run it by pressing F5 or selecting Debug > Start Debugging. This starts your app in a debug environment so you can observe its behavior in detail. The Visual Studio IDE changes while your app is running: the Output window is replaced by two new ones (in the default window configuration), the Autos/Locals/Watch tabbed window and the Call Stack/Breakpoints/Exception Settings/Output tabbed window. These windows have multiple tabs that allow you to inspect and evaluate your app's variables, threads, call stacks, and various other behaviors as it runs.
Stop your app by pressing Shift+F5 or by clicking the Stop button. Or, you can just close the app's main window (or command-line dialog).
If your code ran perfectly and exactly as expected, congratulations! However, if it stops responding, or crashed, or gave you some strange results, you'll need to find the source of those problems and fix the bugs.
Set simple breakpoints
Breakpoints are the most basic and essential feature of reliable debugging. A breakpoint indicates where Visual Studio should suspend your running code so you can take a look at the values of variables, or the behavior of memory, or whether or not a branch of code is getting run. You don't need to rebuild a project after setting and removing breakpoints.
Set a breakpoint by clicking in the far margin of the line where you want the break to occur, or press F9 to set a breakpoint on the current line of code. When you run your code, it will pause (or break) before the instructions for this line of code are executed.
Common uses for breakpoints include:
To narrow down the source of a crash or unresponsive program, scatter breakpoints throughout and around the code of the method call you think is causing the failure. As you run code in the debugger, remove and then reset the breakpoints closer together until you find the offending line of code. See the next section to learn how to run code in the debugger.
When you introduce new code, set a breakpoint at the beginning of it, and run the code to make sure it is behaving as expected.
If you've implemented a complicated behavior, set breakpoints for the algorithmic code so you can inspect the values of the variables and data when the program breaks.
If you're writing C or C++ code, use breakpoints to stop the code so you can inspect address values (look for NULL) and reference counts when debugging for memory-related failures.
For more information about using breakpoints, read Using breakpoints.
Inspect your code at run-time
When your running code hits a breakpoint and pauses, the line of code marked in yellow (the current statement) has not executed yet. At this point, you may want to execute the current statement and then inspect the changed values. You can use several step commands to execute code in the debugger. If the marked code is a method call, you can step into it by pressing F11. You can also step over the line of code by pressing F10. For additional commands and details on how to step through code, read Navigate code with the debugger.
In the preceding illustration, you can advance the debugger one statement by pressing either F10 or F11 (since there is no method call here, both commands have the same result).
While the debugger is paused, you can inspect your variables and call stacks to determine what is going on. Are the values in the ranges you expect to see? Are calls being made in the right order?
Hover over a variable to see its current value and references. If you see a value you didn't expect, you probably have a bug in the preceding or calling code. For more in-depth debugging information, learn more about using the debugger.
Additionally, Visual Studio displays the Diagnostic Tools window, where you can observe your app's CPU and memory usage over time. Later in your app development, you can use these tools to look for unanticipated heavy CPU usage or memory allocation. Use it in conjunction with the Watch window and breakpoints to determine what's causing unexpected heavy usage or unreleased resources. For more information, see Profiling feature tour.
Run unit tests
Unit tests are your first line of defense against code bugs because, when done correctly, they test a single "unit" of code, typically a single function, and are easier to debug than your full program. Visual Studio installs the Microsoft unit testing frameworks for both managed and native code. Use a unit testing framework to create unit tests, run them, and report the results of these tests. Rerun unit tests when you make changes, to test that your code is still working correctly. With Visual Studio Enterprise edition, you can run tests automatically after every build.
To learn more about unit tests in Visual Studio and how they can help you create better quality code, read Unit test basics.
С помощью окна Список ошибок можно выполнять следующие задачи.
Поиск синтаксических ошибок, обнаруженных функцией IntelliSense.
Поиск ошибок развертывания, некоторых ошибок статического анализа и ошибок, обнаруженных при применении политик из шаблона предприятия.
Фильтрация отображаемых записей и столбцов данных, которые будут показаны в каждой записи.
Поиск конкретных терминов и ограничение поиска только в текущим проектом или документом.
Чтобы открыть окно Список ошибок, выберите Вид > Список ошибок или нажмите сочетание клавиш CTRL+ \ +E.
Для сортировки списка выберите любой заголовок столбца. Для повторной сортировки по дополнительному столбцу щелкните другой заголовок столбца, удерживая клавишу SHIFT. Чтобы выбрать отображаемые и скрываемые столбцы, щелкните команду Показать столбцы в контекстном меню. Чтобы изменить порядок, в котором отображаются столбцы, перетащите любой заголовок столбца влево или вправо.
Фильтры списка ошибок
Существует два типа фильтров в двух раскрывающихся списках: один находится справа от панели инструментов, а другой — слева. В раскрывающемся списке слева от панели инструментов указан набор файлов кода (Все решение, Открытые документы, Текущий проект, Текущий документ).
Можно ограничить область поиска для анализа групп ошибок и выполнения соответствующих действий. Например, вам может потребоваться сосредоточиться на основных ошибках, препятствующих компиляции проекта. Для ограничения поиска используются следующие параметры.
В списке справа от панели инструментов указано, следует ли отображать ошибки из сборки (ошибки, возникающие из операции сборки) или из IntelliSense (ошибки, обнаруженные перед запуском сборки) либо и те, и другие.
Поиск
Используйте текстовое поле Поиск в списке ошибок справа от панели инструментов Список ошибок, чтобы найти конкретные ошибки в списке. Поиск можно выполнять на любом отображаемом столбце списка ошибок, и результаты поиска всегда сортируются на основе столбца, имеющего приоритет сортировки, а не на основе примененного запроса или фильтра. Чтобы очистить поисковый запрос и отфильтрованные результаты поиска, нажмите клавишу ESC, выделив область Список ошибок. Можно также щелкнуть X справа от текстового поля, чтобы очистить его.
Сохранить
Список ошибок можно скопировать и сохранить в файл. Выделите ошибки, которые необходимо скопировать, щелкните их правой кнопкой мыши, а затем в контекстном меню выберите команду Копировать. После этого ошибки можно вставить в файл. При вставке ошибок в электронную таблицу Excel поля отображаются в виде различных столбцов.
Список элементов пользовательского интерфейса
Visual Studio включает эффективный интегрированный набор средств сборки и отладки проектов. Из этой статьи вы узнаете, как Visual Studio может помочь обнаружить проблемы в коде с помощью построения выходных данных, анализа кода, средств отладки и модульных тестов.
Мы разобрались, как работать с редактором, и написали код. Теперь необходимо убедиться, что код работает должным образом. Отладка в Visual Studio, как и в большинстве интегрированных сред разработки (IDE), осуществляется в два этапа: построение кода для обнаружения и устранения ошибок проекта и компилятора и выполнение кода для обнаружения ошибок времени выполнения и динамических ошибок.
Сборка кода
Существует два основных типа конфигурации сборки: отладка и выпуск. При использовании конфигурации отладка создается более крупный и медленный исполняемый файл, обеспечивающий более широкие интерактивные возможности отладки во время выполнения. Исполняемый файл конфигурации отладка никогда не следует отправлять. Конфигурация выпуск позволяет создать более быстрый оптимизированный исполняемый файл, подходящий для отправки (по крайней мере с точки зрения компилятора). По умолчанию используется конфигурация Отладка.
Самый простой способ выполнить сборку проекта — нажать клавишу F7, однако вы также можете начать сборку, выбрав в главном меню пункты Сборка > Собрать решение.
Процесс сборки можно наблюдать в окне Вывод в нижней части пользовательского интерфейса Visual Studio. Здесь отображаются ошибки, предупреждения и операции сборки. При наличии ошибок (или предупреждений выше заданного уровня) сборка завершится ошибкой. Можно щелкнуть ошибку и предупреждение, чтобы перейти к строке, где они возникли. Для перестроения проекта можно нажать клавишу F7 (чтобы перекомпилировать только файлы с ошибками) или CTRL+ALT+F7 (для чистого полного перестроения).
После успешного выполнения построения вы увидите примерно следующие результаты в окне Вывод:
Просмотр списка ошибок
Если вы внесли какие-либо изменения в код, который был ранее и успешно скомпилирован, возможно, возникнет ошибка. Если вы новичок в написании кода, возможно, их будет много. Ошибки иногда очевидны, например простая синтаксическая ошибка или неправильное имя переменной, а иногда их причину трудно выяснить, имея в распоряжении только зашифрованный код. Чтобы получить более четкое представление о проблеме, перейдите вниз окна Вывод сборки и щелкните вкладку Список ошибок. При этом вы перейдете к более организованному представлению ошибок и предупреждений для проекта и получите доступ к некоторым дополнительным параметрам.
Щелкните строку ошибки в окне Список ошибок, чтобы перейти в строку кода, в которой возникла ошибка. (Кроме того, номера строк можно включить, нажав клавиши Ctrl+Q, введя номера строк, а затем выбрав Включить или отключить отображение номеров строк в результатах. Это самый быстрый способ перехода в диалоговое окно Параметры, где можно включить номера строк.
Нажмите клавиши CTRL+G для быстрого перехода к номеру строки, в которой возникла ошибка.
Ошибку можно узнать по подчеркиванию красной волнистой линией Чтобы получить дополнительные сведения, наведите на нее указатель мыши. Внесите исправления, и подчеркивание исчезнет, хотя в результате исправления может возникнуть новая ошибка (это называется "регрессия").
Пройдите список ошибок и устраните все ошибки в коде.
Просмотр подробных сведений об ошибках
Многие ошибки трудны для восприятия, будучи представленными в терминах компилятора. В этом случае могут потребоваться дополнительные сведения. Из окна Список ошибок можно выполнить автоматический поиск в поисковой системе Bing для получения дополнительных сведений об ошибке или предупреждении. Щелкните правой кнопкой мыши по соответствующей строке записи и выберите Показать справочные сведения об ошибке из контекстного меню или щелкните гиперссылку с кодом ошибки в столбце код в списке ошибок.
В зависимости от настроек результаты поиска по коду и описанию ошибки откроются в веб-браузере либо во вкладке Visual Studio с результатами поиска Bing. Представленные результаты — из различных источников в Интернете, и, возможно, не все они будут полезными.
Анализ кода
Средства анализа выполняют поиск общих проблем в коде, которые могут привести к ошибкам времени выполнения или проблемам управления кодом.
Анализ кода C++
Чтобы выполнить анализ кода C++, запустите статический анализ кода. Запустить этот компонент после устранения всех очевидных ошибок, препятствующих успешной сборке, и потратить некоторое время, чтобы устранить создаваемые им предупреждения, — очень полезная привычка. Вы сможете избавиться от определенных будущих проблем, а также научитесь некоторым полезным приемам написания кода.
Нажмите клавиши ALT+F11 (или выберите в верхнем меню команду Анализ > Выполнить анализ кода в решении) для запуска статического анализа кода.
Все новые или обновленные предупреждения отображаются на вкладке Список ошибок в нижней части интегрированной среды разработки. Щелкните предупреждение для перехода к нему в коде.
Использование быстрых действий для исправления или рефакторинга кода
Если вы привыкли работать с клавиатурой, вы можете использовать клавиши со стрелками и сочетание клавиш CTRL+ . для проверки возможностей оптимизации и очистки кода!
Запуск очистки кода
Помимо форматирования пробелов, отступов и т. п., функция Очистка кода применяет определенные вами соглашения о стиле кода. Ваши настройки для каждого стиля кода считываются из файла EditorConfig, если такой существует в проекте, или из раздела Параметры стиля кода, который доступен через диалоговое окно Параметры.
Отладка выполняемого кода
Успешно завершив сборку кода и его очистку, запустите код, нажав клавишу F5 или выбрав команду Отладка > Начать отладку. Приложение будет запущено в среде отладки, и вы сможете пронаблюдать его поведение. Интегрированная среда разработки Visual Studio изменяется во время выполнения приложения: окно Вывод заменяется двумя новыми окнами (в конфигурации окон по умолчанию): окном с вкладками Видимые/Локальные/Контрольные значения и окном с вкладками Стек вызовов/Точки останова/Параметры исключений/Вывод. Эти окна имеют несколько вкладок, которые позволяют просмотреть и проверить переменные, потоки, стеки вызовов приложения и другие характеристики поведения во время выполнения приложения.
Остановите приложение, нажав клавиши SHIFT+F5 или кнопку Остановить. Кроме того, можно просто закрыть главное окно приложения (или диалоговое окно командной строки).
Задание простых точек останова
Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода. После установки или удаления точек останова перестраивать проект не нужно.
Установите точку останова, щелкнув дальнее поле строки, в которой требуется приостановить выполнение, или нажмите клавишу F9, чтобы установить точку останова в текущей строке кода. Выполнение кода прерывается (останавливается) перед инструкциями для этой строки кода.
Чаще всего точки останова используются для решения следующих задач.
Чтобы точнее определить источник аварийного завершения или отсутствия отклика программы, расставьте точки останова вокруг и непосредственно в коде вызова метода, который, по вашему мнению, приводит к сбою. При выполнении кода в отладчике удаляйте, а затем снова устанавливайте точки останова ближе друг к другу, пока не найдете строку кода, вызывающую ошибку. Выполнение кода в отладчике описывается в следующем разделе.
При добавлении нового кода установите точку останова в его начале и выполните код, чтобы убедиться в том, что он работает правильно.
При реализации сложного поведения задайте точки останова для алгоритмического кода, чтобы можно было проверить значения переменных и данные при прерывании программы.
При написании кода C или C++ используйте точки останова для остановки кода, чтобы можно было проверить значения адреса (ищите значение NULL) и просмотреть значения счетчиков при отладке ошибок, связанных с памятью.
Дополнительные сведения о точках останова см. в статье Использование точек останова.
Проверка кода во время выполнения
Когда выполнение кода приостанавливается из-за достижения точки останова, строка кода, помеченная желтым цветом (текущий оператор), еще не выполнена. Вы можете выполнить текущий оператор и проверить, как изменились значения. Для выполнения кода в отладчике можно использовать ряд команд пошагового выполнения. Если отмеченный код является вызовом метода, вы можете выполнить шаг с заходом, нажав клавишу F11. Кроме того, можно выполнить шаг с обходом строки кода, нажав клавишу F10. Дополнительные команды и подробные сведения о пошаговом выполнении кода см. в статье Навигация по коду с помощью отладчика.
Код, представленный на предыдущей иллюстрации, может выполняться отладчиком по одному оператору. Для этого можно нажимать клавишу F10 или F11 (так как здесь нет вызова метода, результат выполнения обеих команд будет одинаковым).
Когда отладчик приостанавливает выполнение, можно проверить переменные и стеки вызовов, чтобы разобраться в происходящем. Находятся ли значения в тех диапазонах, которые вы ожидали увидеть? Выполняются ли вызовы в правильном порядке?
Наведите курсор на переменную для просмотра ее текущего значения и ссылок. Если отображается значение, которое вы не ожидали увидеть, возможно, в предыдущем или вызывающем коде имеется ошибка. Более подробные сведения об отладке см. в статье об использовании отладчика.
Кроме того, Visual Studio выводит на экран окно средств диагностики, где можно наблюдать за загрузкой ЦП и использованием памяти приложением в динамике по времени. В дальнейшем в процессе разработки приложения эти средства можно применять для выявления случаев непредвиденно высокой загрузки ЦП или чрезмерного выделения памяти. Это окно можно использовать в сочетании с окном Контрольные значения и точками останова, чтобы определить причину непредвиденно интенсивного использования или неосвобожденных ресурсов. Дополнительные сведения см. в статье Обзор возможностей профилирования.
Запуск модульных тестов
Модульные тесты — это первая линия защиты от ошибок в коде, так как при правильном проведении они позволяют проверять отдельные "модули" кода (как правило, это отдельные функции), которые проще отлаживать, чем всю программу. Visual Studio устанавливает платформу модульного тестирования Майкрософт для управляемого и машинного кода. Платформа модульного тестирования используется для создания модульных тестов, их запуска и передачи результатов таких тестов. Завершив внесение изменений, запустите модульные тесты повторно, чтобы убедиться, что код по-прежнему работает правильно. При использовании выпуска Visual Studio Enterprise можно настроить автоматический запуск тестов после каждой сборки.
Чтобы приступить к работе с модульными тестами, ознакомьтесь со статьей Создание модульных тестов для кода с помощью IntelliTest.
Дополнительные сведения о модульных тестах в Visual Studio, а также о том, как они могут помочь в создании более качественного кода, см. в статье Основные сведения о модульных тестах.
Как избавиться от несуществующей ошибки Visual Studio 2019 ?
Сейчас помогает только перезагрузка студии, но это уже напрягает.
Не подчёркиваются ошибки в Visual Studio 2019
Добрый день! Вчера перестало работать подчёркивание ошибок. IntelliSense показывает инфу по.
Ошибки в Visual Studio 2019
Здравствуйте, проблема такая. Имеется код на СИ. Когда пытаюсь его запускать в программе, выдает.
Visual Studio Installer после обновления не видит установленную Visual Studio 2019
При попытке добавить компоненты Visual Studio 2019 запускается Visual Studio Installer, который.
Нет, ничего не зажал. В этом месте вообще ничего нет. Даже блокнотом файл открывал. И компилируется нормально. Это глюк студии.
Добавлено через 4 минуты
Подобные "ошибки" возникают когда что-то неправильно напишешь, потом исправишь, но ошибку продолжает показывать.
Вчера такое было раз 10 за день. Просто отвлекает постоянно.
Возможно, что нужно обновить студию. Может расширение какое с ума сошло. Я с подобным очень редко сталкиваюсь.
I can, попробуй: правой кнопкой по тексту (то есть, по белому месту ) - rescan - rescan file
Добавлено через 2 минуты
в выпадающем списке, там где "сборка и intellisence" - можно выбрать "сборка". Тогда в логе лишнего не будет.
А статический анализатор всегда вручную можно пустить для файла или для проекта
I can, ещё, как вариант, можно попробовать снести скрытую папку .vs в корне решения. Бывало помогало от мистических багов студии.
Так, это попробовал, не помогает. Решение перестраивается, а ошибки висят и красные загогулины не пропадают.
У меня такого и нету Есть "Анализ кода" -> "Выполнить сборку и подавить активные ошибки", но он этих ошибок не видит. Зато видит другие и помечает зелёными надписями что-то там про дебаг.
Удаляю, но она упорно опять появляется. Да и не меняется ничего.
Что-то меняется, но красные закорючки в коде остаются.
Пока перезагружаю иногда студию, только это и помогает хорошо.
Спасибо всем, друзья. Я решил всё-таки переставить студию. Удалю полностью, подчищу за ней хвосты, и поставлю заново.
Добавлено через 33 секунды
просто относись, как к причудам )) В остальном то она хорошА
Не открывается форма в Visual Studio 2019 после JetBrains dotPeek 2019.3.2
Доброго времени суток! Столкнулся с проблемой, после распаковки .exe файла в программе dotPeek.
Как программировать textBox в Visual Studio 2019?
Захотел в целях практики сделать нормальный калькулятор в WindowsForms , понял как программировать.
Как скомпилировать файл в cl visual studio 2019
Что с этим кодом не так. Не компилируется в cl visual studio 2019. Компилирую в .dll. И ещё у меня.
Как скрыть комментарии в Visual Studio 2019 C++?
Доброго времени суток. Есть ли возможность скрывать все комментарии в isual Studio 2019 C++.
Как подключить AngleSharp в Visual Studio 2019?
Добрый день. Пытаюсь подключить AngleSharp в Visual Studio 2019, командой Install-Package.
Как изменить путь установки Visual Studio 2019?
Столкнулся с одной проблемой во время установки IDE Visual Studio. Вроде бы изменил путь на диск D.
Я попытался очистить / перестроить решение, закрыть Visual Studio и даже перезагрузить компьютер. Я также сделал шаги, описанные в отладочных запусках, даже с ошибками компилятора в Visual Studio. Я могу изменить .cs-файлы, и я вижу изменения в решение.
есть ли у кого-нибудь идея о том, почему он это делает?
Вариант 1: Очистить, построить и обновить (@Mike Fuchs)
As @Mike Fuchs упомянуто, попробуйте следующие операции:
в меню Build > Clean Solution
затем построить его:
в меню Build > Build Solution
и, наконец, Обновить:
Вариант 2: Очистить, закрыть, перезапустить и построить ( @ Pixel)
As @ Pixel упомянуто, попробуйте следующую последовательность операций:
- очистить решение
- Закрыть Visual Studio
- Открыть Visual Studio
- построить решение
Вариант 3: Очистить кэш ReSharper (мой оригинальный вариант)
Если у вас есть ReSharper, попробуйте очистить кэш ReSharper:
в меню ReSharper > параметры > окружающая среда > общие > очистить кэш
и отключение и повторное включение ReSharper:
в меню Инструменты > Параметры > ReSharper > общие > приостановить / восстановить
Вариант 4: Удалить .файл СУО (@Neolisk)
As @Neolisk упоминалось, удаляя .файл suo может решить вашу проблему. Для Visual Studio 2015 файл находится в:
и для Visual Studio 2017:
обратите внимание, что .vs каталог скрыт.
Вариант 5: выгрузка и перезагрузка проекта ( @TTT)
As @TTT упомянуто, попробуйте разгрузить проект, который вызывает проблемы:
в обозревателе решений щелкните правой кнопкой мыши проект, выгрузите проект.
и перезагрузить его
в обозревателе решений щелкните правой кнопкой мыши проект, перезагрузите проект.
Вариант 6: выгрузка и перезагрузка проекта ( @Guilherme)
As @Guilherme упомянул, попробуйте удалить и добавить ссылка на "Microsoft.CSharp " из проектов, которые имеют проблемы.
в обозревателе решений разверните проект, разверните "ссылки", щелкните правой кнопкой мыши на " Microsoft.CSharp" и "удалить".
затем щелкните правой кнопкой мыши ссылки > добавить ссылку, выберите " Microsoft.CSharp " из списка и нажмите OK
Очистка кэша Resharper не помогло в моем случае, пробовал приостановить/восстановить, а также ремонт Resharper, используя последнюю загрузку с веб - сайта JetBrains-ни один из них не помог. Это после того, как я попытался закрыть/снова открыть VS, перезагрузить машину, повторить, построить/перестроить и их комбинацию.
интересно, что приостановка Resharper, казалось, решить проблему после 2-й перезапуск VS, но он вернулся после того, как я включил Resharper
во всяком случае, у меня все еще были проблемы, когда я нашел эту статью:
поэтому я удалил скрытые .СУО файл на том же уровне папки с решением, и он волшебным образом решил все красные.
я очистил решение, закрыл VS, снова открыл его, построил решение и красные неразрешенные линии были очищены и успешно построены.
tldr; выгрузить и перезагрузить проблемный проект.
когда это происходит со мной, я (раньше) пытаюсь закрыть VS и снова открыть его. Это, вероятно, работало около половины времени. Когда это не сработало, я бы закрыл решение, удалил его .suo файл (или всю .vs folder) и повторно откройте решение. До сих пор это всегда работало для меня (более 10 раз за последние 6 месяцев), но это немного утомительно, потому что некоторые вещи сбрасываются, такие как ваш режим сборки, запуск проекта и т. д.
поскольку обычно проблема возникает только в одном проекте, я просто попытался выгрузить этот проект и перезагрузить его, и это сработало. Мой размер выборки составляет всего 1, но он намного быстрее, чем два других варианта, поэтому, возможно, стоит попробовать. Я подозреваю, что это работает, потому что он пишет.suo файл, и, возможно, исправляет поврежденную часть его, которая вызывала проблему с самого начала.
Примечание: я использую Visual Studio 2015.
Я обнаружил, что это часто происходит при использовании Git в Visual Studio 2017, переключение ветвей, где есть зависимые изменения кода. Несмотря на то, что проект будет успешно построен, в списке ошибок останутся ошибки.
эти ошибки часто являются проблемами пространства имен и отсутствующими ссылками, даже если ссылка на библиотеку существует.
- Закрыть Visual Studio
- удалить .против\ "призма".\IncomeVerification программы V15.СУО файл (скрытый)
- Перезапустите Visual Studio
у меня была такая проблема, когда Intellisense, похоже, не распознал существование одного проекта (много "не могу найти этот тип", "это пространство имен не существует" и т. д. ошибки.)
удаление и повторное добавление ссылки на проект во всех ссылочных проектах устранит проблему, но основная причина может быть исправлена путем редактирования .proj файл проблемного проекта.
в верхней части проекта "отсутствует".файл csproj является элемент:
и во всех ссылочных проектах .файлы csproj были ссылками на проект:
идентификатор GUID ссылки не соответствует идентификатору GUID проекта. Замена выше Исправлена проблема без необходимости проходить через каждый проект привязки.
возможно, вы пытаетесь сбросить кэш intellisense. У меня была аналогичная проблема в visual studio 2012 при работе в большом проекте со многими частичными определениями классов. Уменьшение частичных значений частично решило проблему, очистка кэша intellisense также-на некоторое время.
иногда мне приходится выполнять пользовательскую очистку, просматривая все проекты и вручную удаляя папки "bin" и "obj". Чтобы увидеть их в Visual Studio, необходимо включить скрытые файлы и папки для каждого проекта. После этого перестройте решение.
для моего конкретного случая это была служебная ссылка другого разработчика, объединенная с основной веткой. Что было прекрасно, за исключением того, что подсветка синтаксиса не смогла разрешить сгенерированный класс обслуживания,а источник был подчеркнут красным. Очистка, восстановление, перезапуск ничего не сделали.
все, что мне нужно было сделать, это обновить ссылку на службу, и VS удалось собрать части вместе за кулисами. Нет изменений в исходном коде или сгенерированных файлах.
Я только что столкнулся с этой проблемой после возврата git commit, который добавил файлы обратно в мой проект.
очистка и восстановление проекта не сработали, даже если я закрыл VS между каждым шагом.
что в конечном итоге сработало, это переименование файла во что-то другое и изменение его обратно. : facepalm:
попробовав все перечисленные опции, я обнаружил еще одну причину, по которой это может произойти. Если кто-то отправил вам исходный код в виде zip или вы загрузили zip, Windows может заблокировать все файлы. 2 способа решить эту проблему:
Способ 1:
щелкните правой кнопкой мыши исходный Zip-файл - > Проверьте "разблокировать" - > нажмите apply
Способ 2:
Если это не вариант, а не открытие свойств для каждого файла в в папке решения просто откройте power shell и разблокируйте рекурсивно, используя следующее:
Читайте также: