.NET 컴파일러 플랫폼(Roslyn) 분석기는 C# 또는 Visual Basic 코드에서 스타일, 품질, 유지 관리 효율성, 디자인 및 기타 문제를 검사합니다. 이 검사 또는 분석은 디자인 타임에 열려 있는 모든 파일에서 발생합니다.
분석기는 다음 그룹으로 나뉩니다.
-
이러한 분석기는 Visual Studio에 기본 제공됩니다. 분석기 진단 ID 또는 코드 형식은 IDExxxx(예: IDE0001)입니다. 텍스트 편집기 옵션 페이지 또는 EditorConfig 파일에서 기본 설정을 구성할 수 있습니다. .NET 5.0부터 코드 스타일 분석기는 .NET SDK에 포함되며 빌드 경고 또는 오류로 엄격하게 적용할 수 있습니다. 자세한 내용은 .NET 소스 코드 분석 개요를 참조하세요.
-
이러한 분석기는 .NET 5.0 이상 SDK에 포함되며 기본적으로 사용하도록 설정됩니다. 분석기 진단 ID 또는 코드 형식은 CAxxxx(예: CA1822)입니다. 자세한 내용은 .NET 코드 품질 분석 개요를 참조하세요.
외부 분석기
외부 분석기의 예로 StyleCop, Roslynator, xUnit 분석기 및 Sonar Analyzer가 있습니다. 이러한 분석기를 NuGet 패키지 또는 Visual Studio 확장으로 설치할 수 있습니다.
분석기의 심각도 등급
각 Roslyn 분석기 규칙 또는 진단에는 프로젝트에 대해 사용자 지정할 수 있는 기본 심각도 및 제거 상태가 있습니다.
심각도 수준에는 오류, 경고, 제안, 자동, 없음 및 기본값이 포함됩니다. 자세한 정보 및 동작은 심각도 수준 구성을 참조하세요.
규칙 위반
분석기가 분석기 규칙 위반을 발견하면 오류 목록 창과 코드 편집기에서 보고합니다.
다음 스크린샷은 오류 목록 창에 보고된 규칙 위반을 보여 줍니다. 오류 목록에 보고된 분석기 위반은 규칙 의 심각도 수준 설정 과 일치합니다.
또한 분석기 규칙 위반은 코드 편집기에서 잘못된 코드 아래에 물결선으로 표시됩니다. 예를 들어 다음 스크린샷은 오류 1개(빨간색 물결선), 경고 1개(녹색 물결선), 제안 1개(회색 점 3개)의 세 가지 위반을 보여 줍니다.
코드 수정
많은 진단에는 규칙 위반을 수정하기 위해 적용할 수 있는 하나 이상의 연결된 코드 수정 이 있습니다. 코드 수정은 다른 유형의 빠른 작업과 함께 전구 아이콘 메뉴에 표시됩니다. 코드 수정에 대한 자세한 내용은 일반적인 빠른 작업을 참조하세요.
분석기 심각도 수준 구성
EditorConfig 파일 또는 전구 메뉴에서 분석기 규칙의 심각도를 구성할 수 있습니다.
빌드 시 및 입력할 때 코드를 검사하도록 분석기를 구성할 수도 있습니다. 현재 문서, 열려 있는 모든 문서 또는 전체 솔루션에 대해서만 실행되도록 라이브 코드 분석 범위를 구성할 수 있습니다. 자세한 내용은 .NET에 대한 라이브 코드 분석 구성을 참조하세요.
팁 (조언)
코드 분석기의 빌드 시간 오류 및 경고는 분석기가 NuGet 패키지로 설치된 경우에만 표시됩니다. 기본 제공 분석기(예: IDE0067 및 IDE0068)는 빌드 중에 실행되지 않습니다.
외부 코드 분석기 설치
Visual Studio에는 항상 활성 상태인 Roslyn 분석기의 핵심 집합이 포함되어 있습니다. 더 많은 코드 분석기가 필요한 경우 NuGet 패키지를 통해 모든 프로젝트에 대한 외부 분석기를 설치할 수 있습니다. 일부 분석기는 Visual Studio .vsix 확장으로도 사용할 수 있으며, 이 경우 Visual Studio에서 여는 모든 솔루션에 적용됩니다. 이러한 두 가지 유형의 분석기를 설치하는 방법에 대한 자세한 내용은 코드 분석기 설치를 참조하세요.
범위
분석기를 기본 설정 방법인 NuGet 패키지로 설치하는 경우 NuGet 패키지가 설치된 프로젝트에만 적용됩니다. 그렇지 않으면 분석기를 Visual Studio 확장으로 설치하는 경우 솔루션 수준 및 Visual Studio의 모든 인스턴스에 적용됩니다. 팀 환경에서 NuGet 패키지로 설치하는 분석기는 해당 프로젝트에서 작업하는 모든 개발자의 범위에 있습니다.
비고
자사 분석기는 .NET SDK에 포함되어 있습니다. 이러한 분석기를 Microsoft.CodeAnalysis.NetAnalyzers
로 설치하는 대신 .NET SDK에서 사용하도록 설정하는 것이 좋습니다. .NET SDK에서 분석기를 사용하도록 설정하면 SDK를 업데이트하는 즉시 분석기 버그 수정 및 새 분석기가 자동으로 제공됩니다. 분석자에 대한 자세한 내용은 자사 .NET 분석기 사용 또는 설치를 참조하세요.
빌드 오류
명령줄 또는 CI(연속 통합) 빌드를 사용하여 빌드 시 규칙을 적용하려면 다음 옵션 중 하나를 선택합니다.
기본적으로 코드 분석을 가능하게 하는 .NET 5.0 이상 프로젝트를 만듭니다. 이전 .NET 버전을 대상으로 하는 프로젝트에서 코드 분석을 사용하도록 설정하려면 EnableNETAnalyzers 속성을
true
.로 설정합니다.분석기를 NuGet 패키지로 설치합니다. 분석기를 Visual Studio 확장으로 설치하면 분석기 경고 및 오류가 빌드 보고서에 나타나지 않습니다.
다음 스크린샷은 분석기 규칙 위반이 포함된 프로젝트를 빌드할 때의 명령줄 빌드 출력을 보여 줍니다.
규칙 심각도
분석기 규칙 심각도를 구성하려면 분석기를 NuGet 패키지로 설치해야 합니다. Visual Studio 확장으로 설치된 분석기에서 규칙 심각도를 구성할 수 없습니다.
다음 단계
관련 콘텐츠
- Visual Studio의 코드 분석 FAQ
- Roslyn 분석기
- .NET 컴파일러 플랫폼 SDK