Compartilhar via


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.

  • 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

SYSLIB0056

SYSLIB0057

Confira também