SYSLIB0049: JsonSerializerOptions.AddContext är föråldrad
Metoden JsonSerializerOptions.AddContext<TContext>() är föråldrad med början i .NET 8. Om du anropar den i kod genereras en varning SYSLIB0049
vid kompileringstillfället.
Metoden JsonSerializerOptions.AddContext<TContext>() introducerades i .NET 6 som ett sätt att associera JsonSerializerOptions instanser med en angiven JsonSerializerContext typ. Den här metoden ersattes till stor del i .NET 7 med införandet av kontraktsanpassning och TypeInfoResolver egenskapen .
Lösning
Använd någon av följande egenskaper i stället:
- TypeInfoResolver – Med den här egenskapen kan du lägga till en eller flera matchare samtidigt.
- TypeInfoResolverChain – Med den här egenskapen kan du förbereda eller lägga till matchare på flera samtalswebbplatser. Du kan också introspekta kedjan eller ta bort komponenter från den.
Mer information finns i Kombinera källgeneratorer.
Ignorera en varning
Om du måste använda föråldrade API:er kan du ignorera varningen i koden eller i projektfilen.
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan varningen.
// Disable the warning.
#pragma warning disable SYSLIB0049
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0049
Om du vill ignorera alla SYSLIB0049
varningar i projektet lägger du till en <NoWarn>
egenskap i projektfilen.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0049</NoWarn>
</PropertyGroup>
</Project>
Mer information finns i Utelämna varningar.