Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SYSLIB1037: el generador de origen
El generador de origen System.Text.Json
ha encontrado un tipo con propiedades de solo init, como un tipo de registro. Actualmente, el generador de origen no admite estas propiedades para la deserialización.
Soluciones alternativas
Si se requiere la deserialización de propiedades solo init, use la implementación JsonSerializer
basada en reflexión.
Suprimir advertencias
Se recomienda usar una de las soluciones alternativas cuando sea posible. Pero, si no puede cambiar el código, puede suprimir la advertencia por medio de una directiva #pragma
o la opción de configuración del proyecto <NoWarn>
. Si el diagnóstico del generador de origen SYSLIB1XXX
no se ve como un error, puede suprimir la advertencia en el código o en el archivo del proyecto.
Para suprimir las advertencias en el código:
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
Para suprimir las advertencias en un archivo de proyecto:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<!-- NoWarn below suppresses SYSLIB1002 project-wide -->
<NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
<!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
<NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
<NoWarn>$(NoWarn);SYSLIB1006</NoWarn>
<!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
<NoWarn>$(NoWarn);SYSLIB1002;SYSLIB1006;SYSLIB1007</NoWarn>
</PropertyGroup>
</Project>