Varsayılan olmayan tanılama kimlikleriyle API obsoletions (.NET 7)
Bazı API'ler .NET 7'den 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 7 ve sonraki sürümlerde, bu API'lerin kullanılması özel tanılama kimliğiyle bir 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 |
---|---|---|
SYSLIB0036 | Regex.CompileToAssembly eskidir ve desteklenmez. Bunun yerine normal ifade kaynak oluşturucu ile kullanın RegexGeneratorAttribute . |
Uyarı |
SYSLIB0037 | AssemblyNameProcessorArchitecture, ve VersionCompatibility üyeleri HashAlgorithmeskidir ve desteklenmez. | Uyarı |
SYSLIB0038 | SerializationFormat.Binary kullanım dışıdır ve kullanılmamalıdır. | Uyarı |
SYSLIB0039 | TLS sürüm 1.0 ve 1.1 bilinen güvenlik açıklarına sahiptir ve önerilmez. Bunun yerine daha yeni bir TLS sürümü kullanın veya işletim sistemi varsayılanlarına ertelemek için kullanın SslProtocols.None . | Uyarı |
SYSLIB0040 | EncryptionPolicy.NoEncryption ve EncryptionPolicy.AllowNoEncryption güvenliği önemli ölçüde azaltır ve üretim kodunda kullanılmamalıdır. | Uyarı |
SYSLIB0041 | Oluşturuculardaki Rfc2898DeriveBytes varsayılan karma algoritma ve yineleme sayıları güncel değildir ve güvenli değildir. Karma algoritmasını ve yineleme sayısını kabul eden bir oluşturucu kullanın. | Uyarı |
SYSLIB0042 | ToXmlString ve FromXmlString eliptik eğri şifreleme (ECC) türleri için hiçbir uygulama yoktur ve eskidir. Ortak anahtarlar ve özel anahtarlar için veya ImportSubjectPublicKeyInfo gibi ExportSubjectPublicKeyInfo standart bir içeri ve ExportPkcs8PrivateKey ImportPkcs8PrivateKey dışarı aktarma biçimi kullanın. |
Uyarı |
SYSLIB0043 | ECDiffieHellmanPublicKey.ToByteArray() ve ilişkili oluşturucunun tüm platformlarda tutarlı ve birlikte çalışabilen bir uygulaması yoktur. Bunun yerine ECDiffieHellmanPublicKey.ExportSubjectPublicKeyInfo() kullanın. | Uyarı |
SYSLIB0044 | AssemblyName.CodeBase ve AssemblyName.EscapedCodeBase artık kullanılmıyor. | Uyarı |
SYSLIB0045 | Bir algoritma adını kabul eden şifreleme fabrikası yöntemleri eskidir. Bunun yerine algoritma türünde parametresiz Create fabrika yöntemini kullanın. |
Uyarı |
SYSLIB0047 | XmlSecureResolver kullanımdan kaldırıldı. Bunun XmlResolver.ThrowingResolver yerine dış XML kaynaklarının çözümlemesini yasaklayın. |
Uyarı |
Sürüm kullanıma sunulmuştur
.NET 7
Hataya neden olan değişikliğin türü
Bu obsolet'ler kaynak uyumluluğunu etkileyebilir.
Ö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
SYSLIB0036
SYSLIB0037
SYSLIB0038
SYSLIB0039
SYSLIB0040
- System.Net.Security.EncryptionPolicy.AllowNoEncryption
- System.Net.Security.EncryptionPolicy.NoEncryption
SYSLIB0041
- Rfc2898DeriveBytes(String, Byte[])
- Rfc2898DeriveBytes(String, Int32)
- Rfc2898DeriveBytes(Byte[], Byte[], Int32)
- Rfc2898DeriveBytes(String, Byte[], Int32)
- Rfc2898DeriveBytes(String, Int32, Int32)
SYSLIB0042
- System.Security.Cryptography.ECDiffieHellmanCng.FromXmlString(String, ECKeyXmlFormat)
- System.Security.Cryptography.ECDiffieHellmanCng.ToXmlString(ECKeyXmlFormat)
- System.Security.Cryptography.ECDiffieHellmanCngPublicKey.FromXmlString(String)
- System.Security.Cryptography.ECDiffieHellmanCngPublicKey.ToXmlString()
- System.Security.Cryptography.ECDiffieHellmanPublicKey.ToXmlString()
- System.Security.Cryptography.ECDsaCng.FromXmlString(String, ECKeyXmlFormat)
- System.Security.Cryptography.ECDsaCng.ToXmlString(ECKeyXmlFormat)
SYSLIB0043
- System.Security.Cryptography.ECDiffieHellmanPublicKey.ToByteArray()
- ECDiffieHellmanPublicKey(Byte[])
SYSLIB0045
- System.Security.Cryptography.Aes.Create(String)
- System.Security.Cryptography.AsymmetricAlgorithm.Create(String)
- System.Security.Cryptography.DES.Create(String)
- System.Security.Cryptography.ECDiffieHellman.Create(String)
- System.Security.Cryptography.ECDsa.Create(String)
- System.Security.Cryptography.HashAlgorithm.Create(String)
- System.Security.Cryptography.KeyedHashAlgorithm.Create(String)
- System.Security.Cryptography.RandomNumberGenerator.Create(String)
- System.Security.Cryptography.RC2.Create(String)
- System.Security.Cryptography.Rijndael.Create(String)
- System.Security.Cryptography.RSA.Create(String)
- System.Security.Cryptography.SHA1.Create(String)
- System.Security.Cryptography.SHA256.Create(String)
- System.Security.Cryptography.SHA384.Create(String)
- System.Security.Cryptography.SHA512.Create(String)
- System.Security.Cryptography.SymmetricAlgorithm.Create(String)
- System.Security.Cryptography.TripleDES.Create(String)
SYSLIB0047
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