Obsolescência de API com IDs de diagnóstico não padrão (.NET 9)
Algumas APIs foram marcadas como obsoletas, a partir do .NET 9. Essa alteração interruptiva é específica para APIs que foram marcadas como obsoletas com uma ID de diagnóstico personalizada. A supressão da ID de diagnóstico de obsolescência padrão, que é CS0618 para o compilador C#, não suprime os avisos que o compilador gera quando essas APIs são usadas.
Descrição das alterações
Nas versões anteriores do .NET, essas APIs podiam ser usadas sem nenhum aviso de build. No .NET 9 e em versões posteriores, o uso dessas APIs produz um aviso ou erro de tempo de compilação com uma ID de diagnóstico personalizada. O uso de IDs de diagnóstico personalizadas permite suprimir os avisos de obsolescência individualmente, em vez de suprimir todos eles.
A tabela a seguir lista as IDs de diagnóstico personalizadas e suas mensagens de aviso correspondentes para as APIs obsoletas.
ID do diagnóstico | Descrição | Severidade |
---|---|---|
SYSLIB0009 | Não há suporte para AuthenticationManager. Os métodos não realizarão nenhuma operação ou lançarão PlatformNotSupportedException. | Aviso |
SYSLIB0014 | ServicePointManager é totalmente obsoleto. As configurações em ServicePointManager não afetam SslStream ou HttpClient (esse comportamento não foi alterado desde o .NET 6). | Aviso |
SYSLIB0054 | Thread.VolatileRead e Thread.VolatileWrite estão obsoletos. Em vez disso, use Volatile.Read ou Volatile.Write. | Aviso |
SYSLIB0055 | AdvSimd.ShiftRightLogicalRoundedNarrowingSaturate* métodos com parâmetros assinados estão obsoletos. Use as sobrecargas não assinadas em vez disso. |
Aviso |
SYSLIB0056 | Assembly.LoadFrom com uma personalização AssemblyHashAlgorithm é obsoleta. Use sobrecargas sem um AssemblyHashAlgorithm . |
Aviso |
SYSLIB0057 | Os construtores X509Certificate2 e X509Certificate para conteúdo binário e de arquivo estão obsoletos. |
Aviso |
Versão introduzida
.NET 9
Tipo de alteração interruptiva
Essas itens obsoletos podem afetar a compatibilidade com a origem.
Ação recomendada
Siga as diretrizes específicas fornecidas para cada ID de diagnóstico usando o link de URL fornecido no aviso.
Os avisos ou os erros relacionados a essas obsolescências não podem ser suprimidos usando a ID de diagnóstico padrão para tipos obsoletos ou membros. Use o valor personalizado da ID de diagnóstico
SYSLIBxxxx
.
APIs afetadas
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)
Confira também
- Obsolescências de API com IDs de diagnóstico não padrão (.NET 10)
- Obsolescências de API com IDs de diagnóstico não padrão (.NET 8)
- Obsolescências de API com IDs de diagnóstico não padrão (.NET 7)
- Obsolescências de API com IDs de diagnóstico não padrão (.NET 6)
- Obsolescências de API com IDs de diagnóstico não padrão (.NET 5)
- Recursos obsoletos no .NET 5 e posteriores