Przestarzałe elementy interfejsu API z niestandardowymi identyfikatorami diagnostycznymi (.NET 10)
Niektóre interfejsy API zostały oznaczone jako przestarzałe, począwszy od platformy .NET 10. Ta zmiana powodująca niezgodność jest specyficzna dla interfejsów API, które zostały oznaczone jako przestarzałe z niestandardowym identyfikatorem diagnostycznym. Ignorowanie domyślnego identyfikatora diagnostycznego przestarzałości, jakim jest CS0618 w kompilatorze C#, nie ignoruje ostrzeżeń generowanych przez kompilator podczas używania tych interfejsów API.
Zmień opis
W poprzednich wersjach platformy .NET te interfejsy API mogą być używane bez żadnego ostrzeżenia dotyczącego kompilacji. W wersji .NET 10 i nowszych użycie tych API powoduje wygenerowanie ostrzeżenia lub błędu w czasie kompilacji z niestandardowym identyfikatorem diagnostycznym. Użycie niestandardowych identyfikatorów diagnostycznych umożliwia pomijanie ostrzeżeń dotyczących przestarzałości indywidualnie, zamiast pomijania wszystkich takich ostrzeżeń.
W poniższej tabeli wymieniono niestandardowe identyfikatory diagnostyczne i odpowiadające im komunikaty ostrzegawcze dla przestarzałych interfejsów API.
Identyfikator diagnostyczny | Opis | Dotkliwość |
---|---|---|
SYSLIB0058 | Właściwości KeyExchangeAlgorithm , KeyExchangeStrength , CipherAlgorithm , CipherAlgorithmStrength , HashAlgorithm , oraz HashStrength należące do SslStream są przestarzałe. Zamiast tego użyj NegotiatedCipherSuite. |
Ostrzeżenie |
SYSLIB0059 | SystemEvents.EventsThreadShutdown wywołania zwrotne nie są uruchamiane przed zakończeniem procesu. Zamiast tego użyj AppDomain.ProcessExit. | Ostrzeżenie |
SYSLIB0060 | konstruktory System.Security.Cryptography.Rfc2898DeriveBytes są przestarzałe. Zamiast tego użyj Rfc2898DeriveBytes.Pbkdf2. | Ostrzeżenie |
Wersja wprowadzona
.NET 10
Typ zmiany łamiącej zgodność
Te przestarzałości mogą mieć wpływ na zgodność źródła .
Zalecana akcja
Postępuj zgodnie z określonymi wskazówkami podanymi dla każdego identyfikatora diagnostycznego przy użyciu linku adresu URL podanego w ostrzeżeniu.
Ostrzeżenia lub błędy dla tych obsoletions nie mogą być pomijane przy użyciu standardowego identyfikatora diagnostycznego dla przestarzałych typów lub elementów członkowskich; Zamiast tego użyj niestandardowej wartości identyfikatora diagnostycznego
SYSLIBxxxx
.
Interfejsy API, których dotyczy problem
SYSLIB0058
- System.Net.Security.SslStream.KeyExchangeAlgorithm
- System.Net.Security.SslStream.KeyExchangeStrength
- System.Net.Security.SslStream.CipherAlgorithm
- System.Net.Security.SslStream.CipherStrength
- System.Net.Security.SslStream.HashAlgorithm
- System.Net.Security.SslStream.HashStrength
- System.Security.Authentication.ExchangeAlgorithmType
- System.Security.Authentication.CipherAlgorithmType
- System.Security.Authentication.HashAlgorithmType
SYSLIB0059
SYSLIB0060
- System.Security.Cryptography.Rfc2898DeriveBytes
- System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2