Share via


Varsayılan olmayan tanılama kimlikleriyle API obsoletions (.NET 6)

Bazı API'ler .NET 6'dan başlayarak kullanım dışı olarak işaretlendi. Bu hataya neden olan değişiklik, özel tanılama kimliğiyle kullanım dışı olarak işaretlenmiş API'lere özgüdür. C# derleyicisi için CS0618 olan varsayılan eski tanılama kimliğinin gizlenmesi, bu API'ler kullanıldığında derleyicinin oluşturduğu uyarıları gizlemez.

Açıklama değiştirildi

Önceki .NET sürümlerinde, bu API'ler herhangi bir derleme uyarısı olmadan kullanılabilir. .NET 6 ve sonraki sürümlerde, bu API'lerin kullanılması özel tanılama kimliğiyle derleme zamanı uyarısı veya hatası oluşturur. Özel tanılama kimliklerinin kullanılması, eskime uyarılarını tüm eskime uyarılarını gizleme yerine ayrı ayrı gizlemenize olanak tanır.

Aşağıdaki tabloda, özel tanılama kimlikleri ve engellenen API'ler için bunlara karşılık gelen uyarı iletileri listelenmektedir.

Tanılama Kimliği Açıklama Önem derecesi
SYSLIB0013 Uri.EscapeUriString(String) bazı durumlarda Uri dizesini bozabilir. Bunun yerine sorgu dizesi bileşenleri için kullanmayı Uri.EscapeDataString(String) göz önünde bulundurun. Uyarı
SYSLIB0014 WebRequest, HttpWebRequest, ServicePointve WebClient artık kullanılmıyor. Bunun yerine HttpClient kullanın. Uyarı
SYSLIB0015 DisablePrivateReflectionAttribute .NET 6+ üzerinde hiçbir etkisi yoktur. Uyarı
SYSLIB0016 Graphics.GetContextInfo Daha iyi performans ve daha az ayırma için bağımsız değişkenleri kabul eden aşırı yüklemeleri kullanın. Uyarı
SYSLIB0017 Tanımlayıcı ad imzalama desteklenmez ve oluşturur PlatformNotSupportedException. Uyarı
SYSLIB0018 yalnızca Düşünceler yükleme desteklenmez ve oluştururPlatformNotSupportedException. Uyarı
SYSLIB0019 System.Runtime.InteropServices.RuntimeEnvironment, GetRuntimeInterfaceAsIntPtr(Guid, Guid)ve GetRuntimeInterfaceAsObject(Guid, Guid) üyeleri SystemConfigurationFileartık desteklenmez ve oluştururPlatformNotSupportedException. Uyarı
SYSLIB0020 JsonSerializerOptions.IgnoreNullValues kullanımdan kaldırıldı. Seri hale getirildiğinde null değerleri yoksaymak için olarak JsonIgnoreCondition.WhenWritingNullayarlayınDefaultIgnoreCondition. Uyarı
SYSLIB0021 Türetilmiş şifreleme türleri eskidir. Create Bunun yerine temel türdeki yöntemini kullanın. Uyarı
SYSLIB0022 Rijndael ve RijndaelManaged türleri eskidir. Bunun yerine Aes kullanın. Uyarı
SYSLIB0023 RNGCryptoServiceProvider kullanımdan kaldırıldı. Rastgele bir sayı oluşturmak için bunun yerine statik yöntemlerden birini RandomNumberGenerator kullanın. Uyarı
SYSLIB0024 AppDomains oluşturma ve kaldırma desteklenmez ve bir özel durum oluşturur. Uyarı
SYSLIB0025 SuppressIldasmAttribute .NET 6+ üzerinde hiçbir etkisi yoktur. Uyarı
SYSLIB0026 X509Certificate ve X509Certificate2 sabittir. Yeni bir sertifika oluşturmak için uygun oluşturucuyu kullanın. Uyarı
SYSLIB0027 PublicKey.Key kullanımdan kaldırıldı. gibi GetRSAPublicKey()ortak anahtarı almak için uygun yöntemi kullanın. Uyarı
SYSLIB0028 X509Certificate2.PrivateKey kullanımdan kaldırıldı. gibi RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2)özel anahtarı almak için uygun yöntemi kullanın veya özel anahtarla yeni bir örnek oluşturmak için yöntemini kullanın X509Certificate2.CopyWithPrivateKey(ECDiffieHellman) . Uyarı
SYSLIB0029 ProduceLegacyHmacValues kullanımdan kaldırıldı. Eski HMAC değerlerinin üretilmesi artık desteklenmiyor. Uyarı
SYSLIB0030 HMACSHA1 her zaman platform tarafından sağlanan algoritma uygulamasını kullanır. parametresi olmadan useManagedSha1 bir oluşturucu kullanın. Uyarı
SYSLIB0031 CryptoConfig.EncodeOID(String) kullanımdan kaldırıldı. içinde System.Formats.Asn1sağlanan ASN.1 işlevini kullanın. Uyarı
SYSLIB0032 Bozuk işlem durumu özel durumlarından kurtarma desteklenmez; HandleProcessCorruptedStateExceptionsAttribute yoksayılır. Uyarı
SYSLIB0033 Rfc2898DeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) eskidir ve desteklenmez. Bunun yerine PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) kullanın. Uyarı
SYSLIB0034 CmsSigner(CspParameters) kullanımdan kaldırıldı. Bunun yerine alternatif bir oluşturucu kullanın. Uyarı
SYSLIB0035 SignerInfo.ComputeCounterSignature() kullanımdan kaldırıldı. Bunun yerine kabul CmsSigner eden aşırı yüklemeyi kullanın. Uyarı

Sürüm kullanıma sunulmuştur

.NET 6

  • Uyarıda sağlanan URL bağlantısını kullanarak her tanılama kimliği için sağlanan yönergeleri izleyin.

  • Bu obsoletion'lar için uyarılar veya hatalar, eski türler veya üyeler için standart tanılama kimliği kullanılarak gizlenemez; bunun yerine özel SYSLIBxxxx tanılama kimliği değerini kullanın.

Etkilenen API’ler

SYSLIB0013

SYSLIB0014

SYSLIB0015

SYSLIB0016

SYSLIB0017

SYSLIB0018

SYSLIB0019

SYSLIB0020

SYSLIB0021

SYSLIB0022

SYSLIB0023

SYSLIB0024

SYSLIB0025

SYSLIB0026

SYSLIB0027

SYSLIB0028

SYSLIB0029

SYSLIB0030

SYSLIB0031

SYSLIB0032

SYSLIB0033

SYSLIB0034

SYSLIB0035

Ayrıca bkz.