Миграция из анализаторов NuGet FxCop в анализаторы .NET
Анализ источника анализаторами платформы компилятора .NET (Roslyn) заменяет устаревший анализ управляемого кода. Многие устаревшие правила анализа (FxCop) уже переписаны в качестве исходных анализаторов.
До Visual Studio 2019 16.8 и .NET 5.0 эти анализаторы поставляются как Microsoft.CodeAnalysis.FxCopAnalyzers
пакет NuGet.
Начиная с Visual Studio 2019 16.8 и .NET 5.0, эти анализаторы включены в пакет SDK для .NET. Если вы не хотите перейти к пакету SDK для .NET 5+ или если вы предпочитаете модель на основе пакета NuGet, анализаторы также доступны в пакете Microsoft.CodeAnalysis.NetAnalyzers
NuGet. Возможно, вы предпочтете модель на основе пакета для обновлений версий по требованию.
Примечание.
Сторонние анализаторы .NET не зависят от целевой платформы. То есть проект не требует целевой платформы .NET. Анализаторы работают для проектов, целевых net5.0
, а также более ранних версий .NET, таких как netcoreapp
, netstandard
и net472
.
Шаги миграции
Начиная с версии 3.3.2
пакет Microsoft.CodeAnalysis.FxCopAnalyzers
NuGet устарел. Выполните следующие действия, чтобы перенести проект или решение из Microsoft.CodeAnalysis.FxCopAnalyzers
анализаторов .NET:
Удаление
Microsoft.CodeAnalysis.FxCopAnalyzers
пакета NuGetВключите или установите анализаторы .NET. Обратите внимание, что вам не нужно изменять целевую платформу проекта.
Включите дополнительные правила:
Microsoft.CodeAnalysis.NetAnalyzers
гораздо более консервативный по сравнению сMicrosoft.CodeAnalysis.FxCopAnalyzers
. В отличие от пакета FxCopAnalyzers, он имеет только несколько правил правильности, которые включены по умолчанию в качестве предупреждений сборки. Дополнительные правила можно включить, настроив свойство AnalysisMode MSBuild. Например, присвойте свойствуAllEnabledByDefault
значение для включения всех применимых правил ЦС в качестве предупреждений сборки по умолчанию.<PropertyGroup> <AnalysisMode>AllEnabledByDefault</AnalysisMode> </PropertyGroup>