SYSLIB0049: JsonSerializerOptions.AddContext is verouderd
De JsonSerializerOptions.AddContext<TContext>() methode is verouderd, te beginnen in .NET 8. Als u deze aanroept in code, wordt er een waarschuwing SYSLIB0049
gegenereerd tijdens het compileren.
De JsonSerializerOptions.AddContext<TContext>() methode is in .NET 6 geïntroduceerd als een manier om exemplaren te koppelen JsonSerializerOptions aan een opgegeven JsonSerializerContext type. Deze methode werd grotendeels vervangen in .NET 7 met de introductie van contractaanpassing en de TypeInfoResolver eigenschap.
Tijdelijke oplossing
Gebruik in plaats daarvan een van de volgende eigenschappen:
- TypeInfoResolver - Met deze eigenschap kunt u één of meerdere resolvers tegelijk toevoegen.
- TypeInfoResolverChain - Met deze eigenschap kunt u op meerdere oproepsites vooraf gaan of toevoegen aan resolvers. Hiermee kunt u ook de keten introspect of onderdelen ervan verwijderen.
Zie Brongeneratoren combineren voor meer informatie.
Een waarschuwing onderdrukken
Als u de verouderde API's moet gebruiken, kunt u de waarschuwing in code of in het projectbestand onderdrukken.
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de waarschuwing uit te schakelen en vervolgens opnieuw in te schakelen.
// Disable the warning.
#pragma warning disable SYSLIB0049
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0049
Als u alle SYSLIB0049
waarschuwingen in uw project wilt onderdrukken, voegt u een <NoWarn>
eigenschap toe aan het projectbestand.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0049</NoWarn>
</PropertyGroup>
</Project>
Zie Waarschuwingen onderdrukken voor meer informatie.