Delen via


API-niet-standaarddiagnose-id's (.NET 7)

Sommige API's zijn gemarkeerd als verouderd, te beginnen in .NET 7. Deze belangrijke wijziging is specifiek voor API's die zijn gemarkeerd als verouderd met een aangepaste diagnostische id. Het onderdrukken van de standaard diagnostische id voor obsoletion, die CS0618 is voor de C#-compiler, onderdrukt niet de waarschuwingen die de compiler genereert wanneer deze API's worden gebruikt.

Wijzigingsbeschrijving

In eerdere .NET-versies kunnen deze API's zonder buildwaarschuwing worden gebruikt. In .NET 7 en latere versies produceert het gebruik van deze API's een compileertijdwaarschuwing of -fout met een aangepaste diagnostische id. Met het gebruik van aangepaste diagnostische id's kunt u de verdoeiingswaarschuwingen afzonderlijk onderdrukken in plaats van alle verdoezelingswaarschuwingen.

De volgende tabel bevat de aangepaste diagnostische id's en de bijbehorende waarschuwingsberichten voor verouderde API's.

Diagnostische id Beschrijving Ernst
SYSLIB0036 Regex.CompileToAssembly is verouderd en wordt niet ondersteund. Gebruik RegexGeneratorAttribute in plaats daarvan met de brongenerator voor reguliere expressies. Waarschuwing
SYSLIB0037 AssemblyName leden HashAlgorithm, ProcessorArchitectureen VersionCompatibility zijn verouderd en worden niet ondersteund. Waarschuwing
SYSLIB0038 SerializationFormat.Binary is verouderd en mag niet worden gebruikt. Waarschuwing
SYSLIB0039 TLS-versies 1.0 en 1.1 hebben bekende beveiligingsproblemen en worden niet aanbevolen. Gebruik in plaats daarvan een nieuwere TLS-versie of gebruik SslProtocols.None deze om de standaardinstellingen van het besturingssysteem uit te stellen. Waarschuwing
SYSLIB0040 EncryptionPolicy.NoEncryption en EncryptionPolicy.AllowNoEncryption vermindert de beveiliging aanzienlijk en mag niet worden gebruikt in productiecode. Waarschuwing
SYSLIB0041 Het standaard-hash-algoritme en iteratieaantallen in Rfc2898DeriveBytes constructors zijn verouderd en onveilig. Gebruik een constructor die het hash-algoritme en het aantal iteraties accepteert. Waarschuwing
SYSLIB0042 ToXmlString en FromXmlString geen implementatie voor ECC-typen (elliptische curvecryptografie) hebben en verouderd zijn. Gebruik een standaardindeling voor importeren en exporteren, zoals ExportSubjectPublicKeyInfo of ImportSubjectPublicKeyInfo voor openbare sleutels en ExportPkcs8PrivateKey of ImportPkcs8PrivateKey voor persoonlijke sleutels. Waarschuwing
SYSLIB0043 ECDiffieHellmanPublicKey.ToByteArray() en de bijbehorende constructor heeft geen consistente en interoperabele implementatie op alle platforms. Gebruik in plaats daarvan ECDiffieHellmanPublicKey.ExportSubjectPublicKeyInfo(). Waarschuwing
SYSLIB0044 AssemblyName.CodeBase en AssemblyName.EscapedCodeBase zijn verouderd. Waarschuwing
SYSLIB0045 Cryptografische factorymethoden die een algoritmenaam accepteren, zijn verouderd. Gebruik in plaats daarvan de parameterloze Create factorymethode voor het algoritmetype. Waarschuwing
SYSLIB0047 XmlSecureResolver is verouderd. Gebruik XmlResolver.ThrowingResolver in plaats daarvan om de resolutie van externe XML-resources te verbieden. Waarschuwing

Versie geïntroduceerd

.NET 7

Type wijziging die fouten veroorzaken

Deze obsoletions kunnen van invloed zijn op de broncompatibiliteit.

  • Volg de specifieke richtlijnen voor elke diagnostische id met behulp van de URL-koppeling in de waarschuwing.

  • Waarschuwingen of fouten voor deze verdoezelingen kunnen niet worden onderdrukt met behulp van de standaarddiagnose-id voor verouderde typen of leden; gebruik in plaats daarvan de aangepaste diagnostische SYSLIBxxxx id-waarde.

Betrokken API's

SYSLIB0036

SYSLIB0037

SYSLIB0038

SYSLIB0039

SYSLIB0040

SYSLIB0041

SYSLIB0042

SYSLIB0043

SYSLIB0045

SYSLIB0047

Zie ook