Obsolescencias de API con identificadores de diagnóstico no predeterminados (.NET 10)
Algunas API se han marcado como obsoletas a partir de .NET 10. Este cambio importante es específico de las API que se han marcado como obsoletas con un identificador de diagnóstico personalizado. Suprimir el identificador de diagnóstico de obsolescencia predeterminado, que es CS0618 para el compilador de C#, no suprime las advertencias que genera el compilador cuando se usan estas API.
Descripción del cambio
En versiones anteriores de .NET, estas API se pueden usar sin ninguna advertencia de compilación. En .NET 10 y versiones posteriores, el uso de estas API genera una advertencia en tiempo de compilación o un error con un identificador de diagnóstico personalizado. El uso de identificadores de diagnóstico personalizados permite suprimir las advertencias de obsolescencia individualmente en lugar de suprimir todas las advertencias de obsolescencia.
En la tabla siguiente se enumeran los identificadores de diagnóstico personalizados y sus mensajes de advertencia correspondientes para las API obsoletas.
Identificador de diagnóstico | Descripción | Severidad |
---|---|---|
SYSLIB0058 | Las propiedades KeyExchangeAlgorithm , KeyExchangeStrength , CipherAlgorithm , CipherAlgorithmStrength , HashAlgorithm y HashStrength de SslStream están obsoletas. Use NegotiatedCipherSuite en su lugar. |
Advertencia |
SYSLIB0059 | Las devoluciones de llamada SystemEvents.EventsThreadShutdown no se ejecutan antes de que el proceso se cierre. Use AppDomain.ProcessExit en su lugar. | Advertencia |
SYSLIB0060 | Los constructores de System.Security.Cryptography.Rfc2898DeriveBytes están obsoletos. Use Rfc2898DeriveBytes.Pbkdf2 en su lugar. | Advertencia |
Versión introducida
.NET 10
Tipo de cambio disruptivo
Estas obsolescencias pueden afectar a la compatibilidad con orígenes de datos.
Acción recomendada
Siga las instrucciones específicas proporcionadas para cada identificador de diagnóstico mediante el vínculo URL proporcionado en la advertencia.
Las advertencias o los errores de estas obsolescencias no pueden suprimirse mediante el identificador de diagnóstico estándar para tipos o miembros obsoletos; use el valor del identificador de diagnóstico
SYSLIBxxxx
personalizado en su lugar.
APIs afectadas
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