다음을 통해 공유


SYSLIB1020: ILogger 형식의 필드를 여러 개 찾음

로깅 메서드 정의에 ILogger 형식의 매개 변수가 명시적으로 포함되지 않는 경우 로깅 메서드를 포함하는 형식에는 로그 메시지의 대상으로 사용될 ILogger 형식의 필드가 하나만 있어야 합니다.

해결 방법

로깅 메서드를 포함하는 형식에 ILogger 형식의 필드가 하나만 포함되어 있는지 확인합니다.

경고 표시 안 함

가능한 경우 해결 방법 중 하나를 사용하는 것이 좋습니다. 그러나 코드를 변경할 수 없는 경우 #pragma 지시문 또는 <NoWarn> 프로젝트 설정을 통해 경고를 표시하지 않을 수 있습니다. SYSLIB1XXX 소스 생성기 진단이 오류로 표시되지 않으면 코드 또는 프로젝트 파일에서 경고를 표시하지 않을 수 있습니다.

코드에서 경고를 표시하지 않으려면 다음을 수행합니다.

// Disable the warning.
#pragma warning disable SYSLIB1006

// Code that generates compiler diagnostic.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB1006

프로젝트 파일에서 경고를 표시하지 않으려면 다음을 수행합니다.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>net6.0</TargetFramework>
   <!-- NoWarn below suppresses SYSLIB1002 project-wide -->
   <NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
   <!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
   <NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
   <NoWarn>$(NoWarn);SYSLIB1006</NoWarn>
   <!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
   <NoWarn>$(NoWarn);SYSLIB1002;SYSLIB1006;SYSLIB1007</NoWarn>
  </PropertyGroup>
</Project>