Compartilhar via


Novas IDs de diagnóstico para APIs obsoletas

Anteriormente, algumas APIs eram obsoletas sem usar IDs de diagnóstico personalizadas. Do .NET 6 em diante, essas APIs são relatadas como obsoletas usando diferentes IDs de diagnóstico personalizadas. Se você suprimiu avisos de uso dessas APIs por meio do CS0618, modifique as supressões para usar as novas IDs de diagnóstico, que são SYSLIB0003, SYSLIB0019 e SYSLIB0020.

Descrição das alterações

A tabela a seguir mostra as IDs de diagnóstico antigas e novas para a API obsoleta listada.

API ID de diagnóstico anterior Nova ID de diagnóstico
Thread.GetCompressedStack() CS0618 SYSLIB0003
Thread.SetCompressedStack(CompressedStack) CS0618 SYSLIB0003
RuntimeEnvironment.SystemConfigurationFile CS0618 SYSLIB0019
RuntimeEnvironment.GetRuntimeInterfaceAsIntPtr(Guid, Guid) CS0618 SYSLIB0019
RuntimeEnvironment.GetRuntimeInterfaceAsObject(Guid, Guid) CS0618 SYSLIB0019
JsonSerializerOptions.IgnoreNullValues CS0618 SYSLIB0020

Versão introduzida

.NET 6

Motivo da alteração

Do .NET 5 em diante, os itens obsoletos destinam-se a usar valores de ID de diagnóstico personalizados para permitir a supressão refinada dos avisos. Isso gera uma experiência melhor quando as APIs obsoletas precisam permanecer referenciadas. Os itens obsoletos afetados aqui deveriam ter tido os valores de ID de diagnóstico personalizados aplicados quando as APIs foram originalmente marcadas como [Obsolete].

Se as IDs de diagnóstico SYSLIB0003, SYSLIB0019 ou SYSLIB0020 forem produzidas com base na sua compilação, examine o uso das APIs afetadas. Se possível, evite usar essas APIs e confira as mensagens e a documentação para obter alternativas. Se você precisar manter as referências às APIs obsoletas e suprimir o diagnóstico, suprima os avisos usando as novas IDs de diagnóstico em vez de CS0618.

APIs afetadas

Confira também