Obsolescencias de API con identificadores de diagnóstico no predeterminados (.NET 9)
Algunas API se han marcado como obsoletas a partir de .NET 9. Este cambio importante es específico de las API que se han marcado como obsoletas con un identificador de diagnóstico personalizado. La supresión del identificador de diagnóstico de obsolescencia predeterminado, que es CS0618 en el caso del 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 9 y versiones posteriores, el uso de estas API genera una advertencia o un error en tiempo de compilación con un identificador de diagnóstico personalizado. El uso de identificadores de diagnóstico personalizados permite suprimir las advertencias de obsolescencia de forma individual en lugar de realizar una supresión global de todas las advertencias de obsolescencia.
En la tabla siguiente se indican los identificadores de diagnóstico personalizados y sus mensajes de advertencia correspondientes para las API obsoletas.
Id. de diagnóstico | Descripción | severity |
---|---|---|
SYSLIB0009 | No se admite AuthenticationManager. Los métodos no funcionarán ni producirán PlatformNotSupportedException. | Advertencia |
SYSLIB0014: WebRequest, HttpWebRequest, ServicePoint, WebClient están obsoletos | ServicePointManager está totalmente obsoleto. La configuración de ServicePointManager no afecta a SslStream o HttpClient (este comportamiento no ha cambiado desde .NET 6). | Advertencia |
SYSLIB0054 | Thread.VolatileRead y Thread.VolatileWrite están obsoletos. Use Volatile.Read o Volatile.Write en su lugar. | Advertencia |
SYSLIB0055 | Los métodos AdvSimd.ShiftRightLogicalRoundedNarrowingSaturate* con parámetros firmados están obsoletos. Alternativamente, use sobrecargas sin firmar. |
Advertencia |
SYSLIB0056 | Assembly.LoadFrom con un AssemblyHashAlgorithm personalizado está obsoleto. Use sobrecargas sin un AssemblyHashAlgorithm . |
Advertencia |
SYSLIB0057 | los constructores X509Certificate2 y X509Certificate para el contenido binario y de archivo están obsoletos. |
Advertencia |
Versión introducida
.NET 9
Tipo de cambio importante
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 de dirección URL que aparece 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.
API afectadas
SYSLIB0009
SYSLIB0014
SYSLIB0054
SYSLIB0055
- System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int64>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int16>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int32>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int16>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int64>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int32>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<SByte>, Vector128<Int16>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<Int16>, Vector128<Int32>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<Int32>, Vector128<Int64>, Byte)
SYSLIB0056
SYSLIB0057
- X509Certificate2(Byte[])
- X509Certificate2(ReadOnlySpan<Byte>)
- X509Certificate2(String)
- X509Certificate2(Byte[], SecureString)
- X509Certificate2(Byte[], String)
- X509Certificate2(String, SecureString)
- X509Certificate2(String, String)
- X509Certificate2(Byte[], SecureString, X509KeyStorageFlags)
- X509Certificate2(Byte[], String, X509KeyStorageFlags)
- X509Certificate2(ReadOnlySpan<Byte>, ReadOnlySpan<Char>, X509KeyStorageFlags)
- X509Certificate2(String, ReadOnlySpan<Char>, X509KeyStorageFlags)
- X509Certificate2(String, SecureString, X509KeyStorageFlags)
- X509Certificate2(String, String, X509KeyStorageFlags)
- X509Certificate(Byte[])
- X509Certificate(String)
- X509Certificate(Byte[], SecureString)
- X509Certificate(Byte[], String)
- X509Certificate(String, String, X509KeyStorageFlags)
- X509Certificate(String, SecureString)
- X509Certificate(String, String)
- X509Certificate(Byte[], SecureString, X509KeyStorageFlags)
- X509Certificate(Byte[], String, X509KeyStorageFlags)
- X509Certificate(String, SecureString, X509KeyStorageFlags)
- X509Certificate(String, String, X509KeyStorageFlags)
- Import(Byte[])
- Import(ReadOnlySpan<Byte>)
- Import(ReadOnlySpan<Byte>)
- Import(Byte[], String, X509KeyStorageFlags)
- Import(ReadOnlySpan<Byte>, ReadOnlySpan<Char>, X509KeyStorageFlags)
- Import(ReadOnlySpan<Byte>, String, X509KeyStorageFlags)
- Import(String, ReadOnlySpan<Char>, X509KeyStorageFlags)
- Import(String, String, X509KeyStorageFlags)
- CreateFromSignedFile(String)
Consulte también
- Obsolescencias de API con identificadores de diagnóstico no predeterminados (.NET 8)
- Obsolescencias de API con identificadores de diagnóstico no predeterminados (.NET 7)
- Obsolescencias de API con identificadores de diagnóstico no predeterminados (.NET 6)
- Obsolescencias de API con identificadores de diagnóstico no predeterminados (.NET 5)
- Características obsoletas en .NET 5+