SYSLIB0049: JsonSerializerOptions.AddContext je zastaralý
Metoda JsonSerializerOptions.AddContext<TContext>() je zastaralá počínaje rozhraním .NET 8. Volání v kódu generuje upozornění SYSLIB0049
v době kompilace.
Metoda JsonSerializerOptions.AddContext<TContext>() byla zavedena v .NET 6 jako prostředek pro přidružení JsonSerializerOptions instancí k zadanému JsonSerializerContext typu. Tato metoda byla do značné míry nahrazena v .NET 7 zavedením přizpůsobení kontraktu TypeInfoResolver a vlastnosti.
Alternativní řešení
Místo toho použijte jednu z následujících vlastností:
- TypeInfoResolver – Tato vlastnost umožňuje přidat jeden nebo více překladačů najednou.
- TypeInfoResolverChain – Tato vlastnost umožňuje předem nebo připojit překladače ve více lokalitách volání. Umožňuje také introspekci řetězu nebo odebrání součástí.
Další informace naleznete v tématu Kombinování zdrojových generátorů.
Potlačení upozornění
Pokud musíte použít zastaralá rozhraní API, můžete potlačit upozornění v kódu nebo v souboru projektu.
Chcete-li potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, které chcete zakázat a znovu povolit upozornění.
// Disable the warning.
#pragma warning disable SYSLIB0049
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0049
Pokud chcete potlačit všechna SYSLIB0049
upozornění v projektu, přidejte <NoWarn>
do souboru projektu vlastnost.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0049</NoWarn>
</PropertyGroup>
</Project>
Další informace naleznete v tématu Potlačení upozornění.