Поделиться через


Включение или установка собственных анализаторов .NET

Анализаторы платформы компилятора .NET (Roslyn) проверяют код C# или Visual Basic на наличие проблем с качеством кода и стилем кода. Собственные анализаторы .NET не зависят от целевой платформы. Это означает, что ваш проект не обязательно должен быть нацелен на конкретную платформу .NET. Анализаторы работают для проектов, ориентированных на net5.0более поздние версии, а также более ранние версии .NET, такие как netcoreapp, netstandard, и net472.

Включить или установить собственные анализаторы .NET можно одним из следующих способов:

  • Включите его в пакете SDK для .NET: Начиная с Visual Studio 2019 16.8 и .NET 5.0, эти анализаторы включены в пакет SDK для .NET, который входит в состав Visual Studio. Анализ включен по умолчанию для проектов, предназначенных для .NET 5.0 или более поздней версии. Вы можете включить анализ кода в проектах, предназначенных для более ранних версий .NET, установив для свойства MSBUILD EnableNETAnalyzers значение true. Вы также можете отключить анализ кода для своего проекта, установив EnableNETAnalyzers значение .false

  • Установите как пакет NuGet: Если вы не хотите переходить на пакет SDK для .NET 5+ или предпочитаете модель на основе пакета NuGet, анализаторы также доступны в пакете Microsoft.CodeAnalysis.NetAnalyzersNuGet в Visual Studio 2019 и Visual Studio 2022. Вы можете предпочесть модель на основе пакетов для обновлений версий по запросу. Если вы используете Visual Studio 2017, установите последнюю 2.9.x версию пакета NuGetMicrosoft.CodeAnalysis.FxCopAnalyzers.

Примечание.

По возможности рекомендуется включить анализаторы из пакета SDK для .NET, а не устанавливать Microsoft.CodeAnalysis.NetAnalyzersпакет NuGet. Включение анализаторов из пакета SDK для .NET гарантирует, что вы автоматически получите исправления ошибок анализатора и новые анализаторы сразу после обновления пакета SDK. В модели NuGet необходимо обновлять пакет NuGet каждый раз, когда требуется получить последние исправления ошибок. Пакет NuGet обновляется чаще.

Переход на анализаторы .NET

Если вы используете устаревшие анализаторы FxCop или FxCop и хотите использовать анализаторы .NET, следуйте инструкциям в следующих статьях: