Share via


레거시 분석(FxCop)에서 소스 분석(.NET 분석기)으로 마이그레이션

.NET Compiler Platform(“Roslyn”) 분석기의 소스 분석은 관리 코드에 대한 레거시 분석을 대체합니다. .NET Core 및 .NET Standard 프로젝트 등과 같은 최신 프로젝트 템플릿의 경우 레거시 분석을 사용할 수 없습니다.

대부분의 FxCop(레거시 분석) 규칙은 Roslyn 코드 분석기 세트인 .NET 분석기에 맞게 이미 다시 작성되었습니다. 컴파일러 실행 동안 Roslyn 분석기는 소스 코드 기반 분석을 실행합니다. 분석기 결과는 컴파일러 결과와 함께 보고됩니다.

레거시 분석 및 소스 분석 간의 차이점에 대한 자세한 내용은 다음을 참조하세요.

마이그레이션

소스 분석으로 마이그레이션하려면 다음을 수행합니다.

  1. .NET 분석기 사용 또는 설치 레거시 분석 규칙 위반과 마찬가지로 소스 코드 분석 위반은 Visual Studio의 오류 목록 창에 표시됩니다. 소스 코드 분석 위반은 코드 편집기에도 표시되며, 위반 코드 아래에 오류 표시선이 나타납니다. 물결선의 색은 규칙의 심각도 설정에 따라 달라집니다. 새 .NET 분석기로 이식된 규칙 상태를 보려면 이식된 규칙과 이식되지 않은 규칙을 참조하세요.

    참고 항목

    Visual Studio 2019 16.8 및 .NET 5.0 이전에 이러한 분석기는 Microsoft.CodeAnalysis.FxCopAnalyzersNuGet 패키지로 제공되었습니다. Visual Studio 2019 16.8 및 .NET 5.0부터 이러한 분석기는 .NET SDK에 포함됩니다. 분석기는 Microsoft.CodeAnalysis.NetAnalyzersNuGet 패키지로 사용할 수도 있습니다. 자세한 내용은 FxCop 분석기에서 .NET 분석기로 마이그레이션을 참조하세요.

  2. CA0507를 해결하려면 프로젝트에 대해 레거시 코드 분석을 사용하지 않도록 설정해야 합니다. 프로젝트 파일에서 RunCodeAnalysis 속성을 false로 설정합니다.

    <RunCodeAnalysis>false</RunCodeAnalysis>

    또는 프로젝트 속성>코드 분석을 열고 빌드 시 실행 설정을 사용하지 않게 설정합니다.

구성

.NET 분석기를 구성하는 방법에 대한 자세한 내용은 다음과 같습니다.

  • .NET 분석기를 구성하려면 .NET 분석기 구성을 참조하세요.

  • EditorConfig 또는 규칙 세트 파일을 통해 미리 정의된 규칙을 사용하여 분석기를 구성하는 데 관해 알아보려면 규칙 범주 사용을 참조하세요.