Migrieren von NuGet FxCop-Analysetools zu .NET-Analysetools
Die Quellanalyse mit den Analysetools der .NET Compiler Platform („Roslyn“) ersetzt die Legacyanalyse für verwalteten Code. Viele Regeln der Legacyanalyse (FxCop) wurden bereits als Tools für die Quellcodeanalyse umgeschrieben.
Vor Visual Studio 2019 (16.8) und .NET 5.0 wurden diese Analysetools als Microsoft.CodeAnalysis.FxCopAnalyzers
NuGet-Paket bereitgestellt.
Ab Visual Studio 2019 (16.8) und .NET 5.0 sind diese Analysetools im .NET SDK enthalten. Wenn Sie nicht zum .NET 5+ SDK wechseln möchten oder ein NuGet-paketbasiertes Modell bevorzugen, sind die Analysetools auch im Microsoft.CodeAnalysis.NetAnalyzers
NuGet-Paket verfügbar. Möglicherweise bevorzugen Sie ein paketbasiertes Modell für bedarfsgesteuerte Versionsaktualisierungen.
Hinweis
Die .NET-Analysetools von Erstanbietern sind zielplattformunabhängig. Das heißt, Ihr Projekt muss keine bestimmte .NET-Plattform als Ziel verwenden. Die Analysetools funktionieren für Projekte, die auf net5.0
und frühere Versionen von .NET abzielen, z. B. auf netcoreapp
, netstandard
, und net472
.
Schritte bei der Migration
Beginnend mit Version 3.3.2
wurde das NuGet-Paket Microsoft.CodeAnalysis.FxCopAnalyzers
als veraltet eingestuft. Führen Sie die folgenden Schritte aus, um Ihr Projekt oder Ihre Projektmappe von Microsoft.CodeAnalysis.FxCopAnalyzers
zu den .NET-Analysetools zu migrieren:
Deinstallieren Sie das NuGet-Paket
Microsoft.CodeAnalysis.FxCopAnalyzers
.Aktivieren oder installieren Sie die .NET-Analysetools. Beachten Sie, dass Sie die Zielplattform Ihres Projekts nicht ändern müssen.
Aktivieren Sie zusätzliche Regeln:
Microsoft.CodeAnalysis.NetAnalyzers
ist im Vergleich zuMicrosoft.CodeAnalysis.FxCopAnalyzers
wesentlich konservativer. Im Gegensatz zum FxCopAnalyzers-Paket verfügt es nur über einige wenige Regeln zur Richtigkeit, die standardmäßig als Buildwarnungen aktiviert sind. Sie können zusätzliche Regeln aktivieren, indem Sie die MSBuild-Eigenschaft AnalysisMode anpassen. Wenn Sie die Eigenschaft beispielsweise aufAllEnabledByDefault
festlegen, werden alle geltenden CA-Regeln standardmäßig als Buildwarnungen aktiviert.<PropertyGroup> <AnalysisMode>AllEnabledByDefault</AnalysisMode> </PropertyGroup>