Veraltete APIs ohne Standarddiagnose-IDs (.NET 8)

Einige APIs sind ab .NET 8 als veraltet gekennzeichnet. Dieser Breaking Change ist spezifisch für APIs, die mit einer benutzerdefinierten Diagnose-ID als veraltet markiert wurden. Das Unterdrücken der Standardveraltungsdiagnose-ID (CS0618 für den C#-Compiler) unterdrückt nicht die Warnungen, die der Compiler generiert, wenn diese APIs verwendet werden.

Änderungsbeschreibung

In früheren .NET-Versionen können diese APIs ohne eine Buildwarnung verwendet werden. In .NET 8 und höheren Versionen verursacht die Verwendung dieser APIs zur Kompilierzeit eine Warnung oder einen Fehler mit einer benutzerdefinierten Diagnose-ID. Durch die Verwendung benutzerdefinierter Diagnose-IDs können Sie die veralteten Warnungen einzeln anstatt alle zusammen unterdrücken.

In der folgenden Tabelle werden die benutzerdefinierten Diagnose-IDs und die zugehörigen Warnmeldungen für veraltete APIs aufgelistet.

Diagnose-ID BESCHREIBUNG severity
SYSLIB0011 BinaryFormatter-Serialisierung ist veraltet Warnung/Fehler
SYSLIB0048 RSA.EncryptValue(Byte[]) und RSA.DecryptValue(Byte[]) sind veraltet. Verwenden Sie stattdessen RSA.Encrypt und RSA.Decrypt. Warnung
SYSLIB0049 JsonSerializerOptions.AddContext ist veraltet. Um einen JsonSerializerContext zu registrieren, verwenden Sie die TypeInfoResolver- oder die TypeInfoResolverChain-Eigenschaft. Warnung
SYSLIB0050 Die auf einen Formatierer basierende Serialisierung ist veraltet und sollte nicht verwendet werden. Warnung
SYSLIB0051 APIs, die die veraltete formatiererbasierte Serialisierung unterstützen, sind veraltet. Sie sollten nicht durch Anwendungscode aufgerufen oder erweitert werden. Warnung
SYSLIB0052 APIs, die veraltete Mechanismen für die Regex-Erweiterbarkeit unterstützen, sind veraltet. Warnung
SYSLIB0053 AesGcm muss die für Ver- und Entschlüsselung erforderliche Taggröße angeben. Verwenden Sie einen Konstruktor, der die Taggröße akzeptiert. Warnung

Eingeführt in Version

.NET 8

Typ des Breaking Changes

Diese veralteten APIs können sich auf die Quellkompatibilität auswirken.

  • Befolgen Sie die Anweisungen für die einzelnen Diagnose-IDs, indem Sie den URL-Link verwenden, der in der Warnung bereitgestellt wird.

  • Warnungen oder Fehler für diese veralteten Elemente können nicht mithilfe der Standarddiagnose-ID für veraltete Typen oder Member unterdrückt werden. Verwenden Sie stattdessen den benutzerdefinierten Diagnose-ID-Wert im Format SYSLIBxxxx.

Betroffene APIs

SYSLIB0011

SYSLIB0048

SYSLIB0049

SYSLIB0050

SYSLIB0051

Die veralteten SYSLIB0051-APIs sind hier nach Namespace sortiert.

Microsoft.CSharp.RuntimeBinder-Namespace

Microsoft.VisualBasic.FileIO-Namespace

System-Namespace

System.Collections-Namespace

System.Collections.Generic-Namespace

System.Collections.Specialized-Namespace

System.ComponentModel-Namespace

System.ComponentModel.Composition-Namespace

System.ComponentModel.Composition.Primitives-Namespace

System.ComponentModel.DataAnnotations namespace

System.ComponentModel.Design-Namespace

System.Configuration-Namespace

System.Data-Namespace

System.Data.Common-Namespace

System.Data.Odbc-Namespace

System.Data.OleDb-Namespace

System.Data.SqlTypes-Namespace

System.Diagnostics.Eventing.Reader-Namespace

System.Diagnostics.Tracing-Namespace

System.DirectoryServices-Namespace

System.DirectoryServices.AccountManagement-Namespace

System.DirectoryServices.ActiveDirectory-Namespace

System.DirectoryServices.Protocols-Namespace

System.Formats.Asn1-Namespace

System.Formats.Cbor-Namespace

System.Globalization-Namespace

System.IO-Namespace

System.Management-Namespace

System.Media-Namespace

System.Net-Namespace

System.Net.Mail-Namespace

System.Net.NetworkInformation-Namespace

System.Net.Sockets-Namespace

System.Reflection-Namespace

System.Reflection.Metadata-Namespace

System.Resources-Namespace

System.Runtime.CompilerServices-Namespace

System.Runtime.InteropServices-Namespace

System.Runtime.Serialization-Namespace

System.Security-Namespace

System.Security.AccessControl-Namespace

System.Security.Authentication-Namespace

System.Security.Claims-Namespace

System.Security.Cryptography-Namespace

System.Security.Policy-Namespace

System.Security.Principal-Namespace

System.Text.Json-Namespace

System.Text.RegularExpressions-Namespace

System.Threading-Namespace

System.Threading.Channels-Namespace

System.Threading.Tasks-Namespace

System.Transactions-Namespace

System.Xml (Namespace)

System.Xml.Schema-Namespace

System.Xml.XPath-Namespace

System.Xml.Xsl-Namespace

SYSLIB0052

SYSLIB0053

Siehe auch