다음을 통해 공유


전역 ‘SuppressMessageAttribute’에서 레거시 형식 대상 방지(IDE0077)

속성
규칙 ID IDE0077
제목 전역 SuppressMessageAttribute에서 레거시 형식 대상 방지
범주 CodeQuality
하위 범주 기타 규칙
해당 언어 C# 및 Visual Basic

개요

이 규칙은 레거시 FxCop 대상 문자열 형식을 사용하여 Target을 지정하는 전역 SuppressMessageAttributes에 플래그를 지정합니다. 레거시 형식 Target 을 사용하는 것은 성능 문제가 있는 것으로 알려져 있으며 피해야 합니다. 자세한 내용은 dotnet/roslyn 문제 44362를 참조하세요.

Target의 권장 형식은 ‘설명서 ID’ 형식입니다. 설명서 ID에 대한 자세한 내용은 설명서 ID 형식을 참조하세요.

Visual Studio 2019는 특성의 Target을 권장 형식으로 자동으로 변경하는 코드 수정을 제공합니다.

옵션

이 규칙에는 연결된 코드 스타일 옵션이 없습니다.

예제

// IDE0077: Legacy format target 'N.C.#F'
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "N.C.#F")]

// Fixed code
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "~F:N.C.F")]

namespace N
{
    class C
    {
        public int F;
    }
}

경고 표시 안 함

단일 위반만 표시하지 않으려면 원본 파일에 전처리기 지시문을 추가하여 규칙을 사용하지 않도록 설정한 후 다시 사용하도록 설정합니다.

#pragma warning disable IDE0077
// The code that's violating the rule is on this line.
#pragma warning restore IDE0077

파일, 폴더 또는 프로젝트에 대한 규칙을 사용하지 않도록 설정하려면 구성 파일에서 심각도를 none으로 설정합니다.

[*.{cs,vb}]
dotnet_diagnostic.IDE0077.severity = none

이 전체 규칙 범주를 사용하지 않도록 설정하려면 구성 파일에서 범주의 심각도를 none으로 설정합니다.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none

자세한 내용은 방법: 코드 분석 경고 표시 안 함을 참조하세요.

참고 항목