Freigeben über


Neue Diagnose-IDs für veraltete APIs

Zuvor wurden einige APIs ohne benutzerdefinierte Diagnose-IDs als veraltet angezeigt. Ab .NET 6 werden diese APIs mit unterschiedlichen benutzerdefinierten Diagnose-IDs als veraltet angezeigt. Wenn Sie Warnungen für die Verwendung dieser APIs über CS0618 unterdrückt haben, ändern Sie die Unterdrückungen so, dass die neuen Diagnose-IDs SYSLIB0003, SYSLIB0019 und SYSLIB0020 verwendet werden.

Beschreibung der Änderung

Die folgende Tabelle zeigt die alten und neuen Diagnose-IDs für die aufgelistete veraltete API.

API Vorherige Diagnose-ID Neue Diagnose-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

Eingeführt in Version

.NET 6

Grund für die Änderung

Ab .NET 5 sollen für veraltete Versionen benutzerdefinierte Diagnose-ID-Werte verwendet werden, um eine differenzierte Unterdrückung der Warnungen zu ermöglichen. Dies ist benutzerfreundlicher, wenn Verweise auf die veralteten APIs beibehalten werden müssen. Auf die hier betroffenen veralteten Versionen sollten benutzerdefinierte Diagnose-ID-Werte angewendet worden sein, als die APIs ursprünglich als [Obsolete] markiert wurden.

Wenn die DIAGNOSE-IDs SYSLIB0003, SYSLIB0019 oder SYSLIB0020 von Ihrem Build generiert werden, überprüfen Sie die Verwendung der betroffenen APIs. Verwenden Sie diese APIs möglichst nicht, und sehen Sie sich die Nachrichten und die Dokumentation an, um Alternativen zu finden. Wenn Sie die Verweise auf die veralteten APIs beibehalten und die Diagnose unterdrücken müssen, unterdrücken Sie die Warnungen unter Verwendung der neuen Diagnose-IDs anstelle von CS0618.

Betroffene APIs

Siehe auch