SYSLIB0049: JsonSerializerOptions.AddContext è obsoleto
Il metodo JsonSerializerOptions.AddContext<TContext>() è obsoleto, a partire da .NET 8. La chiamata nel codice genera un avviso SYSLIB0049
in fase di compilazione.
Il metodo JsonSerializerOptions.AddContext<TContext>() è stato introdotto in .NET 6 come mezzo per associare istanze JsonSerializerOptions a un tipo JsonSerializerContext specificato. Questo metodo è stato ampiamente sostituito in .NET 7 con l'introduzione della personalizzazione del contratto e della proprietà TypeInfoResolver.
Soluzione alternativa
Usare invece una delle proprietà seguenti:
- TypeInfoResolver: questa proprietà consente di aggiungere uno o più resolver contemporaneamente.
- TypeInfoResolverChain: questa proprietà consente di anteporre o accodare resolver in più siti di chiamata. Consente inoltre di analizzare la catena o rimuovere componenti.
Per altre informazioni, vedere Combinare generatori di origini.
Eliminare un avviso
Se è necessario usare le API obsolete, è possibile eliminare l'avviso nel codice o nel file di progetto.
Per eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare l'avviso.
// Disable the warning.
#pragma warning disable SYSLIB0049
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0049
Per eliminare tutti gli avvisi SYSLIB0049
nel progetto, aggiungere una proprietà <NoWarn>
al file di progetto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0049</NoWarn>
</PropertyGroup>
</Project>
Per altre informazioni, vedere Non visualizzare gli avvisi.