Obsolescencias de API con identificadores de diagnóstico no predeterminados

Algunas API se han marcado como obsoletas a partir de .NET 5. 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 5 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
SYSLIB0001 La codificación UTF-7 no es segura y no debe usarse. Considere la posibilidad de usar UTF-8 en su lugar. Advertencia
SYSLIB0002 El entorno de ejecución no respeta PrincipalPermissionAttribute y no debe usarse. Error
SYSLIB0003 La seguridad de acceso del código (CAS) no es compatible o el entorno de ejecución no la respeta. Advertencia
SYSLIB0004 No se admite la característica de regiones de ejecución restringidas (CER). Advertencia
SYSLIB0005 No se admite la caché global de ensamblados (GAC). Advertencia
SYSLIB0006 Thread.Abort() no se admite y produce una PlatformNotSupportedException. Advertencia
SYSLIB0007 La implementación predeterminada de este algoritmo de criptografía no es compatible. Advertencia
SYSLIB0008 La API CreatePdbGenerator() no se admite y produce una PlatformNotSupportedException. Advertencia
SYSLIB0009 Los métodos AuthenticationManager.Authenticate y AuthenticationManager.PreAuthenticate no se admiten y producen una PlatformNotSupportedException. Advertencia
SYSLIB0010 No se admiten algunas API de comunicación remota y producen una PlatformNotSupportedException. Advertencia
SYSLIB0011 La serialización BinaryFormatter está obsoleta y no debe usarse. Advertencia
SYSLIB0012 Assembly.CodeBase y Assembly.EscapedCodeBase solo se incluyen para la compatibilidad con .NET Framework. Utilice Assembly.Location en su lugar. Advertencia

Versión introducida

.NET 5.0

  • 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

SYSLIB0001

SYSLIB0002

SYSLIB0003

Clases del espacio de nombres System.Security.Permissions:

Clases que derivan de CodeAccessSecurityAttribute:

Interfaces:

Clases que implementan IStackWalk:

Clases que implementan IPermission:

Clases que derivan de CodeAccessPermission:

Clases que derivan de ResourcePermissionBase:

Enumeraciones del espacio de nombres System.Security.Permissions:

Clases y miembros que dependen de los tipos de seguridad de acceso del código:

SYSLIB0004

SYSLIB0005

SYSLIB0006

SYSLIB0007

SYSLIB0008

SYSLIB0009

SYSLIB0010

SYSLIB0011

SYSLIB0012

Vea también