Udostępnij za pośrednictwem


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, netstandardi 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:

  1. Odinstalowywanie Microsoft.CodeAnalysis.FxCopAnalyzers pakietu NuGet

  2. Włącz lub zainstaluj analizatory .NET. Pamiętaj, że nie trzeba zmieniać platformy docelowej projektu.

  3. Włącz dodatkowe reguły: Microsoft.CodeAnalysis.NetAnalyzers jest znacznie bardziej konserwatywny w porównaniu z Microsoft.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, że AllEnabledByDefault wszystkie odpowiednie reguły urzędu certyfikacji będą domyślnie włączane jako ostrzeżenia kompilacji.

    <PropertyGroup>
      <AnalysisMode>AllEnabledByDefault</AnalysisMode>
    </PropertyGroup>