다음을 통해 공유


FxCop 분석기에서 .NET 분석기로 마이그레이션

.NET Compiler Platform(“Roslyn”) 분석기의 소스 분석은 관리 코드에 대한 레거시 분석을 대체합니다. 많은 레거시 분석(FxCop) 규칙은 이미 소스 분석기로 다시 작성되었습니다.

Visual Studio 2019 16.8 및 .NET 5.0 이전에 이러한 분석기는 Microsoft.CodeAnalysis.FxCopAnalyzers NuGet 패키지로 제공되었습니다.

Visual Studio 2019 16.8 및 .NET 5.0부터 이러한 분석기는 .NET SDK에 포함됩니다. .NET 5 이상 SDK로 이동하지 않으려는 경우 또는 NuGet 패키지 기반 모델을 선호하는 경우 Microsoft.CodeAnalysis.NetAnalyzers NuGet 패키지에서도 분석기를 사용할 수 있습니다. 주문형 버전 업데이트에는 패키지 기반 모델을 사용하는 것이 좋습니다.

참고 항목

자사 .NET 분석기는 대상 플랫폼 제약이 없습니다. 즉, 프로젝트에서 특정 .NET 플랫폼을 대상으로 지정할 필요가 없습니다. 분석기는 이전 .NET 버전(예: netcoreapp, netstandard, net472)뿐만 아니라 net5.0을 대상으로 하는 프로젝트에서도 작동합니다.

마이그레이션 단계

3.3.2 버전부터 Microsoft.CodeAnalysis.FxCopAnalyzers NuGet 패키지는 더 이상 사용되지 않습니다. 아래 단계에 따라 Microsoft.CodeAnalysis.FxCopAnalyzers에서 .NET 분석기로 프로젝트 또는 솔루션을 마이그레이션하세요.

  1. Microsoft.CodeAnalysis.FxCopAnalyzers NuGet 패키지 제거

  2. .NET 분석기 사용 또는 설치. 프로젝트의 대상 플랫폼을 변경할 필요가 없습니다.

  3. 추가 규칙 사용: Microsoft.CodeAnalysis.NetAnalyzersMicrosoft.CodeAnalysis.FxCopAnalyzers에 비해 훨씬 더 보수적입니다. 이 규칙은 FxCopAnalyzers 패키지와 달리 기본적으로 빌드 경고로 사용되는 몇 가지 수정 규칙만 포함됩니다. AnalysisMode MSBuild 속성을 사용자 지정하여 추가 규칙을 사용하도록 설정할 수 있습니다. 예를 들어, 속성을 AllEnabledByDefault로 설정하면 적용 가능한 모든 CA 규칙이 기본적으로 빌드 경고로 사용됩니다.

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