클래스에는 클래스 또는 기본 클래스의 필드에 의해 숨겨진 형식 ILogger 의 기본 생성자 매개 변수가 있으므로 이 매개 변수를 사용할 수 없습니다.
예를 들어, 다음 클래스는 SYSLIB1027 진단을 초래합니다.
partial class C(ILogger logger)
{
private readonly object logger = logger;
[LoggerMessage(EventId = 0, Level = LogLevel.Debug, Message = "...")]
public partial void M1();
}
해결 방법
필드 또는 기본 생성자를 제거합니다. 자세한 내용은 기본 사용을 참조하세요.
경고 표시 안 함
가능한 경우 해결 방법 중 하나를 사용하는 것이 좋습니다. 그러나 코드를 변경할 수 없는 경우 지시문 또는 #pragma 프로젝트 설정을 통해 <NoWarn> 경고를 표시하지 않을 수 있습니다. 원본 생성기 진단이 SYSLIB1XXX 오류로 표시되지 않는 경우 코드 또는 프로젝트 파일에서 경고를 표시하지 않을 수 있습니다.
코드에서 경고를 표시하지 않도록 하려면(필요에 따라 진단 ID를 바꿉니다.)
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
프로젝트 파일에서 경고를 표시하지 않도록 하려면(필요에 따라 진단 ID를 바꿉니다.)
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.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>
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET