Share via


SYSLIB0049: JsonSerializerOptions.AddContext está obsoleto

A partir de .NET 8, el método JsonSerializerOptions.AddContext<TContext>() está obsoleto. Si se usa en el código, se genera una advertencia SYSLIB0049 en tiempo de compilación.

El JsonSerializerOptions.AddContext<TContext>() método se introdujo en .NET 6 como medio para asociar JsonSerializerOptions instancias con un tipo especificado JsonSerializerContext. Este método se reemplazó en gran medida en .NET 7 con la introducción de la personalización del contrato y la propiedad TypeInfoResolver.

Solución alternativa

Compruebe las siguientes propiedades del archivo :

  • TypeInfoResolver - Esta propiedad le permite agregar uno o varios solucionadores a la vez.
  • TypeInfoResolverChain - Esta propiedad le permite anteponer o anexar solucionadores en varios sitios de llamada. También permite hacer una introspección de la cadena o quitar componentes de ella.

Para obtener más información, consulte Combinar generadores de origen.

Supresión de una advertencia

Si tiene que seguir usando las API obsoletas, puede suprimir la advertencia en el código o en el archivo de proyecto.

Para suprimir solo una infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y luego volver a habilitar la advertencia.

// Disable the warning.
#pragma warning disable SYSLIB0049

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0049

Para suprimir todas las advertencias SYSLIB0049 del proyecto, agregue una propiedad <NoWarn> al archivo del proyecto.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0049</NoWarn>
  </PropertyGroup>
</Project>

Para obtener más información, vea Suprimir advertencias.