Sdílet prostřednictvím


Obsoletions rozhraní API s ne defaultním diagnostickým ID (.NET 7)

Některá rozhraní API byla označena jako zastaralá, počínaje verzí .NET 7. Tato změna způsobující chybu je specifická pro rozhraní API, která byla označena jako zastaralá pomocí vlastního diagnostického ID. Potlačení výchozího ID diagnostiky obsoletion, což je CS0618 pro kompilátor jazyka C#, nepotlačí upozornění, že kompilátor generuje při použití těchto rozhraní API.

Změna popisu

V předchozích verzích .NET je možné tato rozhraní API použít bez upozornění na sestavení. V .NET 7 a novějších verzích vytvoří použití těchto rozhraní API upozornění na dobu kompilace nebo chybu s vlastním ID diagnostiky. Použití vlastních diagnostických ID umožňuje potlačit upozornění obsoletion jednotlivě místo deka potlačování všech upozornění na obsoletion.

Následující tabulka uvádí vlastní ID diagnostiky a jejich odpovídající zprávy upozornění pro zastaralá rozhraní API.

ID diagnostiky Popis Závažnost
SYSLIB0036 Regex.CompileToAssembly je zastaralý a nepodporuje se. Použijte RegexGeneratorAttribute místo toho generátor zdroje regulárních výrazů. Upozorňující
SYSLIB0037 AssemblyNameProcessorArchitecture, HashAlgorithma VersionCompatibility jsou zastaralé a nejsou podporovány. Upozorňující
SYSLIB0038 SerializationFormat.Binary je zastaralý a neměl by se používat. Upozorňující
SYSLIB0039 Protokol TLS verze 1.0 a 1.1 obsahují známá ohrožení zabezpečení a nedoporučuje se. Místo toho použijte novější verzi protokolu TLS nebo použijte SslProtocols.None k odložení výchozích hodnot operačního systému. Upozorňující
SYSLIB0040 EncryptionPolicy.NoEncryption a EncryptionPolicy.AllowNoEncryption výrazně snížit zabezpečení a nemělo by se používat v produkčním kódu. Upozorňující
SYSLIB0041 Výchozí algoritmus hash a počty iterací v Rfc2898DeriveBytes konstruktorech jsou zastaralé a nezabezpečené. Použijte konstruktor, který přijímá algoritmus hash a počet iterací. Upozorňující
SYSLIB0042 ToXmlString a FromXmlString nemají žádnou implementaci pro typy kryptografie se třemi tečkami (ECC) a jsou zastaralé. Použijte standardní formát importu a exportu, jako ExportSubjectPublicKeyInfo je veřejný ImportSubjectPublicKeyInfo klíč nebo ExportPkcs8PrivateKey ImportPkcs8PrivateKey privátní klíče. Upozorňující
SYSLIB0043 ECDiffieHellmanPublicKey.ToByteArray() a přidružený konstruktor nemá konzistentní a interoperabilní implementaci na všech platformách. Místo toho použijte ECDiffieHellmanPublicKey.ExportSubjectPublicKeyInfo(). Upozorňující
SYSLIB0044 AssemblyName.CodeBase a AssemblyName.EscapedCodeBase jsou zastaralé. Upozorňující
SYSLIB0045 Kryptografické metody továrny, které přijímají název algoritmu, jsou zastaralé. Místo toho použijte metodu bez parametrů Create objektu pro vytváření pro typ algoritmu. Upozorňující
SYSLIB0047 XmlSecureResolver je zastaralý. Místo toho se používá XmlResolver.ThrowingResolver k zakázání překladu externích prostředků XML. Upozorňující

Zavedená verze

.NET 7

Typ zásadní změny

Tyto obsoletions můžou mít vliv na kompatibilitu zdroje.

  • Postupujte podle konkrétních pokynů uvedených pro každé ID diagnostiky pomocí odkazu url uvedeného v upozornění.

  • Upozornění nebo chyby pro tyto obsoletions nelze potlačit pomocí standardního ID diagnostiky pro zastaralé typy nebo členy; místo toho použijte vlastní SYSLIBxxxx hodnotu ID diagnostiky.

Ovlivněná rozhraní API

SYSLIB0036

SYSLIB0037

SYSLIB0038

SYSLIB0039

SYSLIB0040

SYSLIB0041

SYSLIB0042

SYSLIB0043

SYSLIB0045

SYSLIB0047

Viz také