Megosztás a következőn keresztül:


SYSLIB0049: A JsonSerializerOptions.AddContext elavult

A JsonSerializerOptions.AddContext<TContext>() metódus elavult, a .NET 8-tól kezdve. A kódban való meghívás figyelmeztetést SYSLIB0049 generál fordításkor.

A JsonSerializerOptions.AddContext<TContext>() metódus a .NET 6-ban lett bevezetve, amely a példányok adott JsonSerializerContext típushoz való társítására JsonSerializerOptions szolgál. Ezt a módszert nagyrészt felváltotta a .NET 7 a szerződés testreszabásának és a TypeInfoResolver tulajdonságnak a bevezetésével.

Áthidaló megoldás

Használja inkább az alábbi tulajdonságok egyikét:

  • TypeInfoResolver – Ez a tulajdonság egyszerre egy vagy több feloldó hozzáadását teszi lehetővé.
  • TypeInfoResolverChain – Ez a tulajdonság lehetővé teszi, hogy több hívási helyen előre fel- vagy hozzáfűzze a feloldókat. Emellett lehetővé teszi a lánc betekintőjét vagy az összetevők eltávolítását is.

További információ: Forrásgenerátorok egyesítése.

Figyelmeztetés mellőzése

Ha az elavult API-kat kell használnia, letilthatja a figyelmeztetést a kódban vagy a projektfájlban.

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz, hogy letiltsa, majd engedélyezze újra a figyelmeztetést.

// Disable the warning.
#pragma warning disable SYSLIB0049

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

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

Ha el szeretné tiltani a SYSLIB0049 projekt összes figyelmeztetését, adjon hozzá egy tulajdonságot <NoWarn> a projektfájlhoz.

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

További információ: Figyelmeztetések mellőzése.