Sdílet prostřednictvím


Obsoletions api with non-default diagnostic ID (.NET 6)

Některá rozhraní API byla označena jako zastaralá, počínaje verzí .NET 6. 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 6 a novějších verzích použití těchto rozhraní API vytvoří 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
SYSLIB0013 Uri.EscapeUriString(String) může v některých případech poškodit řetězec identifikátoru URI. Místo toho zvažte použití Uri.EscapeDataString(String) pro komponenty řetězce dotazu. Upozorňující
SYSLIB0014 WebRequest, HttpWebRequesta ServicePointWebClient jsou zastaralé. Místo toho použijte HttpClient. Upozorňující
SYSLIB0015 DisablePrivateReflectionAttribute nemá žádný vliv na .NET 6 nebo novější. Upozorňující
SYSLIB0016 Graphics.GetContextInfo Použijte přetížení, která přijímají argumenty pro lepší výkon a méně přidělení. Upozorňující
SYSLIB0017 Podepisování silného názvu není podporováno a vyvolá PlatformNotSupportedExceptionse . Upozorňující
SYSLIB0018 Reflexe pouze načítání není podporováno a vyvolá PlatformNotSupportedException. Upozorňující
SYSLIB0019 Členové SystemConfigurationFileSystem.Runtime.InteropServices.RuntimeEnvironment , GetRuntimeInterfaceAsIntPtr(Guid, Guid)a GetRuntimeInterfaceAsObject(Guid, Guid) již nejsou podporovány a vyvolání PlatformNotSupportedException. Upozorňující
SYSLIB0020 JsonSerializerOptions.IgnoreNullValues je zastaralý. Pokud chcete při serializaci ignorovat hodnoty null, nastavte DefaultIgnoreCondition hodnotu JsonIgnoreCondition.WhenWritingNull. Upozorňující
SYSLIB0021 Odvozené kryptografické typy jsou zastaralé. Místo toho použijte metodu Create základního typu. Upozorňující
SYSLIB0022 Typy Rijndael jsou RijndaelManaged zastaralé. Místo toho použijte Aes. Upozorňující
SYSLIB0023 RNGCryptoServiceProvider je zastaralý. Pokud chcete vygenerovat náhodné číslo, použijte místo toho jednu ze statických RandomNumberGenerator metod. Upozorňující
SYSLIB0024 Vytváření a uvolňování domén AppDomains není podporováno a vyvolá výjimku. Upozorňující
SYSLIB0025 SuppressIldasmAttribute nemá žádný vliv na .NET 6 nebo novější. Upozorňující
SYSLIB0026 X509Certificate a X509Certificate2 jsou neměnné. Pomocí příslušného konstruktoru vytvořte nový certifikát. Upozorňující
SYSLIB0027 PublicKey.Key je zastaralý. Pomocí příslušné metody získejte veřejný klíč, například GetRSAPublicKey(). Upozorňující
SYSLIB0028 X509Certificate2.PrivateKey je zastaralý. Použijte příslušnou metodu k získání privátního klíče, například RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2), nebo použijte metodu X509Certificate2.CopyWithPrivateKey(ECDiffieHellman) k vytvoření nové instance s privátním klíčem. Upozorňující
SYSLIB0029 ProduceLegacyHmacValues je zastaralý. Vytváření starších hodnot HMAC se už nepodporuje. Upozorňující
SYSLIB0030 HMACSHA1 vždy používá implementaci algoritmu poskytovanou platformou. Použijte konstruktor bez parametru useManagedSha1 . Upozorňující
SYSLIB0031 CryptoConfig.EncodeOID(String) je zastaralý. Použijte funkci ASN.1, která je součástí System.Formats.Asn1. Upozorňující
SYSLIB0032 Obnovení z výjimek stavu poškozeného procesu není podporováno; HandleProcessCorruptedStateExceptionsAttribute se ignoruje. Upozorňující
SYSLIB0033 Rfc2898DeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) je zastaralý a nepodporuje se. Místo toho použijte PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]). Upozorňující
SYSLIB0034 CmsSigner(CspParameters) je zastaralý. Místo toho použijte alternativní konstruktor. Upozorňující
SYSLIB0035 SignerInfo.ComputeCounterSignature() je zastaralý. Použijte přetížení, které místo toho přijme CmsSigner . Upozorňující

Zavedená verze

.NET 6

  • 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

SYSLIB0013

SYSLIB0014

SYSLIB0015

SYSLIB0016

SYSLIB0017

SYSLIB0018

SYSLIB0019

SYSLIB0020

SYSLIB0021

SYSLIB0022

SYSLIB0023

SYSLIB0024

SYSLIB0025

SYSLIB0026

SYSLIB0027

SYSLIB0028

SYSLIB0029

SYSLIB0030

SYSLIB0031

SYSLIB0032

SYSLIB0033

SYSLIB0034

SYSLIB0035

Viz také