다음을 통해 공유


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

.NET 컴파일러 플랫폼("Roslyn") 분석기의 원본 분석은 관리 코드에 대한 레거시 분석을 대체합니다 . 많은 레거시 분석(FxCop) 규칙이 이미 원본 분석기로 다시 작성되었습니다.

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

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

비고

자사 .NET 분석기는 대상 플랫폼에 구애받지 않습니다. 즉, 프로젝트는 특정 .NET 플랫폼을 대상으로 할 필요가 없습니다. 분석기는 net5.0뿐만 아니라 netcoreapp, netstandard, net472와 같은 이전 .NET 버전을 대상으로 하는 프로젝트에 대해 작동합니다.

마이그레이션 단계

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

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

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

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

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