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.