古い API 用の新しい診断 ID

以前、いくつかの API がカスタム診断 ID を使用せずに旧形式になりました。 .NET 6 以降では、それらの API は、異なるカスタム診断 ID を使用して古い形式と報告されます。 CS0618 を使用してそれらの API の使用に対する警告を抑制した場合は、新しい診断 ID (SYSLIB0003SYSLIB0019SYSLIB0020) を使用するように抑制を変更します。

変更内容

次の表は、一覧で示されている古い 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

関連項目