古い API 用の新しい診断 ID
以前、いくつかの API がカスタム診断 ID を使用せずに旧形式になりました。 .NET 6 以降では、それらの API は、異なるカスタム診断 ID を使用して古い形式と報告されます。 CS0618 を使用してそれらの API の使用に対する警告を抑制した場合は、新しい診断 ID (SYSLIB0003、SYSLIB0019、SYSLIB0020) を使用するように抑制を変更します。
変更内容
次の表は、一覧で示されている古い API の古い診断 ID と新しい診断 ID です。
API | 以前の診断 ID | 新しい診断 ID |
---|---|---|
Thread.GetCompressedStack() | CS0618 | SYSLIB0003 |
Thread.SetCompressedStack(CompressedStack) | CS0618 | SYSLIB0003 |
RuntimeEnvironment.SystemConfigurationFile | CS0618 | SYSLIB0019 |
RuntimeEnvironment.GetRuntimeInterfaceAsIntPtr(Guid, Guid) | CS0618 | SYSLIB0019 |
RuntimeEnvironment.GetRuntimeInterfaceAsObject(Guid, Guid) | CS0618 | SYSLIB0019 |
JsonSerializerOptions.IgnoreNullValues | CS0618 | SYSLIB0020 |
導入されたバージョン
.NET 6
変更理由
.NET 5 以降では、カスタム診断 ID 値を使用して警告をきめ細かく抑制できるようにするため、古い形式に変更されています。 これにより、古い API を引き続き参照する必要がある場合に、エクスペリエンスが向上します。 ここで影響を受ける古い形式は、API が最初に [Obsolete]
としてマークされるときに、カスタム診断 ID 値を適用されている必要があります。
推奨アクション
ビルドから SYSLIB0003、SYSLIB0019、SYSLIB0020 診断 ID が生成される場合は、影響を受ける API の使用状況を確認します。 可能であれば、それらの API の使用を避け、メッセージとドキュメントで代わりの方法を参照します。 古い API への参照をそのままにし、診断を抑制する必要がある場合は、CS0618 の代わりに新しい診断 ID を使用して警告を抑制します。
影響を受ける API
- System.Threading.Thread.GetCompressedStack()
- System.Threading.Thread.SetCompressedStack(CompressedStack)
- System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile
- System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeInterfaceAsIntPtr(Guid, Guid)
- System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeInterfaceAsObject(Guid, Guid)
- System.Text.Json.JsonSerializerOptions.IgnoreNullValues
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET