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
Önerilen eylem
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
- System.Reflection.Assembly.ReflectionOnlyLoad
- System.Reflection.Assembly.ReflectionOnlyLoadFrom(String)
- System.Type.ReflectionOnlyGetType(String, Boolean, Boolean)
SYSLIB0019
- System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile
- System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeInterfaceAsIntPtr(Guid, Guid)
- System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeInterfaceAsObject(Guid, Guid)
SYSLIB0020
SYSLIB0021
- System.Security.Cryptography.AesCryptoServiceProvider
- System.Security.Cryptography.AesManaged
- System.Security.Cryptography.DESCryptoServiceProvider
- System.Security.Cryptography.MD5CryptoServiceProvider
- System.Security.Cryptography.RC2CryptoServiceProvider
- System.Security.Cryptography.SHA1CryptoServiceProvider
- System.Security.Cryptography.SHA1Managed
- System.Security.Cryptography.SHA256Managed
- System.Security.Cryptography.SHA256CryptoServiceProvider
- System.Security.Cryptography.SHA384Managed
- System.Security.Cryptography.SHA384CryptoServiceProvider
- System.Security.Cryptography.SHA512Managed
- System.Security.Cryptography.SHA512CryptoServiceProvider
- System.Security.Cryptography.TripleDESCryptoServiceProvider
SYSLIB0022
SYSLIB0023
SYSLIB0024
SYSLIB0025
SYSLIB0026
SYSLIB0027
SYSLIB0028
SYSLIB0029
SYSLIB0030
SYSLIB0031
SYSLIB0032
SYSLIB0033
SYSLIB0034
SYSLIB0035
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin