Partilhar via


Obsolações de API com IDs de diagnóstico não padrão

Algumas APIs foram marcadas como obsoletas, começando no .NET 5. Essa alteração de quebra é específica para APIs que foram marcadas como obsoletas com uma ID de diagnóstico personalizada. Suprimir a 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.

Alterar a descrição

Em versões anteriores do .NET, essas APIs podem ser usadas sem qualquer aviso de compilação. No .NET 5 e versões posteriores, o uso dessas APIs produz um aviso ou erro em tempo de compilação com uma ID de diagnóstico personalizada. O uso de IDs de diagnóstico personalizados permite suprimir os avisos de obsolescência individualmente, em vez de suprimir todos os avisos de obsolescência.

A tabela a seguir lista as IDs de diagnóstico personalizadas e suas mensagens de aviso correspondentes para APIs obsoletas.

ID de diagnóstico Description Gravidade
SYSLIB0001 A codificação UTF-7 é insegura e não deve ser usada. Considere usar UTF-8 em vez disso. Aviso
SYSLIB0002 PrincipalPermissionAttribute não é honrado pelo tempo de execução e não deve ser usado. Erro
SYSLIB0003 A segurança de acesso ao código (CAS) não é suportada ou respeitada pelo tempo de execução. Aviso
SYSLIB0004 O recurso de região de execução restrita (CER) não é suportado. Aviso
SYSLIB0005 O cache de assembly global (GAC) não é suportado. Aviso
SYSLIB0006 Thread.Abort() não é suportado PlatformNotSupportedExceptione lança . Aviso
SYSLIB0007 A implementação padrão deste algoritmo de criptografia não é suportada. Aviso
SYSLIB0008 A CreatePdbGenerator() API não é suportada PlatformNotSupportedExceptione lança . Aviso
SYSLIB0009 Os AuthenticationManager.Authenticate métodos e AuthenticationManager.PreAuthenticate não são suportados e lançam PlatformNotSupportedException. Aviso
SYSLIB0010 Algumas APIs de comunicação remota não são suportadas e lançam PlatformNotSupportedException. Aviso
SYSLIB0011 BinaryFormatter A serialização é obsoleta e não deve ser usada. Aviso
SYSLIB0012 Assembly.CodeBase e Assembly.EscapedCodeBase estão incluídos apenas para compatibilidade com o .NET Framework. Utilize Assembly.Location em substituição. Aviso

Versão introduzida

.NET 5.0

  • Siga as orientações específicas fornecidas para cada ID de diagnóstico usando o link de URL fornecido no aviso.

  • Avisos ou erros para essas obsolescências não podem ser suprimidos usando o ID de diagnóstico padrão para tipos ou membros obsoletos; em vez disso, use o valor de ID de diagnóstico personalizado SYSLIBxxxx .

APIs afetadas

SYSLIB0001

SYSLIB0002

SYSLIB0003

Classes no System.Security.Permissions namespace:

Classes que derivam de CodeAccessSecurityAttribute:

Interfaces:

Classes que implementam IStackWalk:

Classes que implementam IPermission:

Classes que derivam de CodeAccessPermission:

Classes que derivam de ResourcePermissionBase:

Enums no System.Security.Permissions namespace:

Classes e membros que dependem dos tipos de segurança de acesso ao código:

SYSLIB0004

SYSLIB0005

SYSLIB0006

SYSLIB0007

SYSLIB0008

SYSLIB0009

SYSLIB0010

SYSLIB0011

SYSLIB0012

Consulte também