Nuevos id. de diagnóstico para API obsoletas
Anteriormente, algunas API quedaron obsoletas sin usar id. de diagnóstico personalizados. A partir de .NET 6, esas API se notifican como obsoletas mediante distintos identificadores de diagnóstico personalizados. Si ha suprimido las advertencias de uso de esas API por medio de CS0618, modifique las eliminaciones para usar los nuevos id. de diagnóstico, que son SYSLIB0003, SYSLIB0019 y SYSLIB0020.
Descripción del cambio
En la tabla siguiente se muestran los id. de diagnóstico antiguos y nuevos para la API obsoleta indicada.
API | Id. de diagnóstico anterior | Id. de diagnóstico nuevo |
---|---|---|
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 |
Versión introducida
.NET 6
Motivo del cambio
A partir de .NET 5, las obsolescencias están diseñadas para usar valores de identificador de diagnóstico personalizados a fin de permitir la eliminación detallada de las advertencias. Esto da lugar a una mejor experiencia cuando es necesario seguir haciendo referencia a las API obsoletas. A las obsolescencias afectadas aquí se les deberían haber aplicado valores de identificador de diagnóstico personalizados cuando las API se marcaron originalmente como [Obsolete]
.
Acción recomendada
Si los id. de diagnóstico SYSLIB0003, SYSLIB0019 o SYSLIB0020 se generan a partir de la compilación, revise el uso de las API afectadas. Si es posible, evite usar esas API y vea los mensajes y la documentación para obtener alternativas. Si necesita conservar las referencias a las API obsoletas y eliminar los diagnósticos, use los nuevos id. de diagnóstico en lugar de CS0618para eliminar las advertencias.
API afectadas
- System.Threading.Thread.GetCompressedStack()
- System.Threading.Thread.SetCompressedStack(CompressedStack)
- System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile
- System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeInterfaceAsIntPtr(Guid, Guid)
- System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeInterfaceAsObject(Guid, Guid)
- System.Text.Json.JsonSerializerOptions.IgnoreNullValues