クラスには、クラス内のフィールドまたは基底クラスによって非表示になっている 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ソース ジェネレーターの診断がエラーとして表示されない場合は、コードまたはプロジェクト ファイルで警告を抑制できます。
コードで警告を抑制するには:
// 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>
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET