Обучение
Сертификация
Изучение, поиск и устранение угроз с помощью Microsoft Sentinel, Microsoft Defender для облака и Microsoft 365 Defender.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Анализаторы платформы компилятора .NET (Roslyn) проверяют код C# или Visual Basic для стиля, качества, удобства обслуживания, проектирования и других проблем. Эта проверка или анализ происходит во время разработки во всех открытых файлах.
Анализаторы делятся на следующие группы:
Эти анализаторы встроены в Visual Studio. Идентификатор диагностики анализатора или формат кода — IDExxxx, например, IDE0001. Параметры можно настроить на странице параметров текстового редактора или в файле EditorConfig. Начиная с .NET 5.0 анализаторы стиля кода включены в пакет SDK для .NET и могут быть строго применены в качестве предупреждений сборки или ошибок. Дополнительные сведения см. в разделе "Обзор анализа исходного кода .NET".
Эти анализаторы включены в пакет SDK для .NET 5.0 и более поздних версий и включены по умолчанию. Идентификатор диагностики анализатора или формат кода — CAxxxxx, например CA1822. Дополнительные сведения см. в разделе "Обзор анализа качества кода .NET".
Внешние анализаторы
Примерами внешних анализаторов являются StyleCop, Roslynator, xUnit Analyzers и Sonar Analyzer. Эти анализаторы можно установить как пакет NuGet, так и расширение Visual Studio.
Каждое правило анализатора Roslyn или диагностика имеет уровень серьезности и состояние подавления по умолчанию, которое можно настроить для проекта.
Уровни серьезности включают: ошибка, предупреждение, предложение, молчаливое, нет и значение по умолчанию. Подробные сведения и поведение см. в разделе "Настройка уровней серьезности".
Если анализатор находит нарушения правил анализатора, он сообщает их в окне списка ошибок и в редакторе кода.
На следующем снимке экрана показаны нарушения правил, сообщаемые в окне списка ошибок . Нарушения анализатора, сообщаемые в списке ошибок, соответствуют параметру уровня серьезности правила:
Нарушения правил анализатора также отображаются в редакторе кода в виде волнистых линий под кодом с ошибками. Например, на следующем снимке экрана показаны три нарушения: одна ошибка (красная волнистая линия), одно предупреждение (зеленая волнистая линия) и одна рекомендация (три серых точки).
Многие средства диагностики имеют одно или несколько связанных исправлений кода , которые можно применить для исправления нарушения правила. Исправления кода отображаются в меню значка лампочки вместе с другими типами быстрых действий. Дополнительные сведения об исправлениях кода см. в разделе "Распространенные быстрые действия".
Вы можете настроить серьезность правил анализатора в файле EditorConfig или в меню лампочки.
Анализаторы также можно настроить для проверки кода во время сборки и при вводе. Область анализа динамического кода можно настроить только для текущего документа, всех открытых документов или всего решения. Дополнительные сведения см. в разделе "Настройка анализа динамического кода для .NET".
Совет
Ошибки и предупреждения во время сборки из анализаторов кода отображаются только в том случае, если анализаторы установлены в виде пакета NuGet. Встроенные анализаторы (например, IDE0067 и IDE0068) никогда не выполняются во время сборки.
Visual Studio включает основной набор анализаторов Roslyn, которые всегда активны. Если вам нужны дополнительные анализаторы кода, можно установить внешние анализаторы для каждого проекта с помощью пакета NuGet. Некоторые анализаторы также доступны в виде расширения Visual Studio .vsix , в этом случае они применяются к любому решению, которое вы открываете в Visual Studio. Сведения об установке этих двух различных типов анализаторов см. в разделе "Установка анализаторов кода".
При установке анализатора в виде пакета NuGet предпочтительный метод применяется только к проекту, в котором установлен пакет NuGet. В противном случае, если вы устанавливаете анализатор как расширение Visual Studio, оно применяется на уровне решения и ко всем экземплярам Visual Studio. В командных средах анализатор, установленный как пакет NuGet, находится в области действия для всех разработчиков, работающих над этим проектом.
Примечание
Сторонние анализаторы поставляются в пакете SDK для .NET. Предпочтительнее включить эти анализаторы из пакета SDK для .NET, а не устанавливать их в виде Microsoft.CodeAnalysis.NetAnalyzers
пакета NuGet. Включение анализаторов из пакета SDK для .NET гарантирует автоматическое получение исправлений анализатора и новых анализаторов после обновления пакета SDK. Дополнительные сведения об анализаторах см. в статье "Включение или установка сторонних анализаторов .NET".
Чтобы применить правила во время сборки, с помощью сборок командной строки или непрерывной интеграции (CI) выберите один из следующих вариантов:
Создайте проект .NET 5.0 или более поздней версии, который включает анализ кода по умолчанию. Чтобы включить анализ кода для проектов, предназначенных для более ранних версий .NET, задайте для свойства EnableNETAnalyzers значение true
.
Установите анализаторы в виде пакета NuGet. Если вы устанавливаете анализаторы в качестве расширения Visual Studio, предупреждения и ошибки анализатора не отображаются в отчете о сборке.
Следующий снимок экрана показывает вывод сборки в командной строке при создании проекта, в котором обнаружено нарушение правила анализатора.
Если требуется настроить серьезность правила анализатора, необходимо установить анализатор в виде пакета NuGet. Невозможно настроить серьезность правил из анализаторов, установленных в качестве расширения Visual Studio.
Обучение
Сертификация
Изучение, поиск и устранение угроз с помощью Microsoft Sentinel, Microsoft Defender для облака и Microsoft 365 Defender.