Veraltete APIs ohne Standarddiagnose-IDs

Einige APIs sind ab .NET 5 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 5 und höheren Versionen erzeugt 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
SYSLIB0001 Die UTF-7-Codierung ist unsicher und sollte nicht verwendet werden. Verwenden Sie stattdessen UTF-8. Warnung
SYSLIB0002 PrincipalPermissionAttribute wird von der Runtime nicht berücksichtigt und darf nicht verwendet werden. Fehler
SYSLIB0003 Die Codezugriffssicherheit (Code Access Security, CAS) wird von der Runtime nicht unterstützt oder nicht berücksichtigt. Warnung
SYSLIB0004 Das Feature „Eingeschränkte Ausführungsregion (Constrained Execution Region, CER)“ wird nicht unterstützt. Warnung
SYSLIB0005 Der globale Assemblycache (GAC) wird nicht unterstützt. Warnung
SYSLIB0006 Thread.Abort() wird nicht unterstützt und löst PlatformNotSupportedException aus. Warnung
SYSLIB0007 Die Standardimplementierung dieses Kryptografiealgorithmus wird nicht unterstützt. Warnung
SYSLIB0008 Die CreatePdbGenerator()-API wird nicht unterstützt und löst PlatformNotSupportedExceptionaus. Warnung
SYSLIB0009 Die Methoden AuthenticationManager.Authenticate und AuthenticationManager.PreAuthenticate werden nicht unterstützt und lösen PlatformNotSupportedException aus. Warnung
SYSLIB0010 Einige Remoting-APIs werden nicht unterstützt und lösen PlatformNotSupportedException aus. Warnung
SYSLIB0011 Die BinaryFormatter-Serialisierung ist veraltet und sollte nicht verwendet werden. Warnung
SYSLIB0012 Assembly.CodeBase und Assembly.EscapedCodeBase sind nur für die .NET Framework-Kompatibilität enthalten. Verwenden Sie stattdessen Assembly.Location. Warnung

Eingeführt in Version

.NET 5.0

  • 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

SYSLIB0001

SYSLIB0002

SYSLIB0003

Klassen im Namespace System.Security.Permissions:

Klassen, die von CodeAccessSecurityAttribute abgeleitet sind:

Schnittstellen:

Klassen, die IStackWalk implementieren:

Klassen, die IPermission implementieren:

Klassen, die von CodeAccessPermission abgeleitet sind:

Klassen, die von ResourcePermissionBase abgeleitet sind:

Enumerationen im Namespace System.Security.Permissions:

Klassen und Member, die von Codezugriffssicherheitstypen abhängen:

SYSLIB0004

SYSLIB0005

SYSLIB0006

SYSLIB0007

SYSLIB0008

SYSLIB0009

SYSLIB0010

SYSLIB0011

SYSLIB0012

Siehe auch