Migrowanie z analizatorów NuGet FxCop do analizatorów platformy .NET
Analiza źródła przez analizatory platformy kompilatora .NET ("Roslyn") zastępuje starszą analizę kodu zarządzanego. Wiele starszych reguł analizy (FxCop) zostało już przepisanych jako analizatory źródłowe.
Przed programem Visual Studio 2019 16.8 i .NET 5.0 te analizatory są dostarczane jako Microsoft.CodeAnalysis.FxCopAnalyzers
pakiet NuGet.
Począwszy od programów Visual Studio 2019 16.8 i .NET 5.0, te analizatory są dołączone do zestawu .NET SDK. Jeśli nie chcesz przechodzić do zestawu .NET 5+ SDK lub jeśli wolisz model oparty na pakietach NuGet, analizatory są również dostępne w Microsoft.CodeAnalysis.NetAnalyzers
pakiecie NuGet. Możesz preferować model oparty na pakietach dla aktualizacji wersji na żądanie.
Uwaga
Analizatory platformy .NET pierwszej firmy są niezależne od platformy docelowej. Oznacza to, że projekt nie musi być przeznaczony dla określonej platformy .NET. Analizatory działają w przypadku projektów docelowych net5.0
, a także wcześniejszych wersji platformy .NET, takich jak netcoreapp
, netstandard
i net472
.
Kroki migracji
Począwszy od wersji 3.3.2
, Microsoft.CodeAnalysis.FxCopAnalyzers
pakiet NuGet został przestarzały. Wykonaj poniższe kroki, aby przeprowadzić migrację projektu lub rozwiązania z Microsoft.CodeAnalysis.FxCopAnalyzers
do analizatorów platformy .NET:
Odinstalowywanie
Microsoft.CodeAnalysis.FxCopAnalyzers
pakietu NuGetWłącz lub zainstaluj analizatory .NET. Pamiętaj, że nie trzeba zmieniać platformy docelowej projektu.
Włącz dodatkowe reguły:
Microsoft.CodeAnalysis.NetAnalyzers
jest znacznie bardziej konserwatywny w porównaniu zMicrosoft.CodeAnalysis.FxCopAnalyzers
. W przeciwieństwie do pakietu FxCopAnalyzers, ma tylko kilka reguł poprawności, które są domyślnie włączone jako ostrzeżenia kompilacji. Możesz włączyć dodatkowe reguły , dostosowując właściwość AnalysisMode MSBuild. Na przykład ustawienie właściwości na wartość spowoduje, żeAllEnabledByDefault
wszystkie odpowiednie reguły urzędu certyfikacji będą domyślnie włączane jako ostrzeżenia kompilacji.<PropertyGroup> <AnalysisMode>AllEnabledByDefault</AnalysisMode> </PropertyGroup>