전역 ‘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
자세한 내용은 방법: 코드 분석 경고 표시 안 함을 참조하세요.
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET