Freigeben über


SYSLIB0049: JsonSerializerOptions.AddContext ist veraltet

Die JsonSerializerOptions.AddContext<TContext>()-Methode ist ab .NET 8 veraltet. Ihr Aufruf im Code löst zur Kompilierzeit die Warnung SYSLIB0049 aus.

Die JsonSerializerOptions.AddContext<TContext>()-Methode wurde in .NET 6 als Mittel zum Zuordnen von JsonSerializerOptions-Instanzen mit angegebenem JsonSerializerContext-Typ eingeführt. Diese Methode wurde in .NET 7 weitgehend durch die Einführung der Vertragsanpassung und der TypeInfoResolver-Eigenschaft ersetzt.

Problemumgehung

Verwenden Sie stattdessen eine der folgenden Eigenschaften:

  • TypeInfoResolver: Mit dieser Eigenschaft können Sie mehrere Konfliktlöser gleichzeitig hinzufügen.
  • TypeInfoResolverChain: Mit dieser Eigenschaft können Sie Konfliktlöser an mehreren Aufruforten voranstellen oder anfügen. Außerdem können Sie die Kette überprüfen oder Komponenten daraus entfernen.

Weitere Informationen finden Sie unter Kombinieren von Quellgeneratoren.

Unterdrücken einer Warnung

Wenn Sie die veralteten APIs verwenden müssen, können Sie die Warnung im Code oder in Ihrer Projektdatei unterdrücken.

Um nur einen einzelnen Verstoß zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Warnung zu deaktivieren und dann wieder zu aktivieren.

// Disable the warning.
#pragma warning disable SYSLIB0049

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0049

Um alle SYSLIB0049-Warnungen in Ihrem Projekt zu unterdrücken, fügen Sie ihrer Projektdatei eine <NoWarn>-Eigenschaft hinzu.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0049</NoWarn>
  </PropertyGroup>
</Project>

Weitere Informationen finden Sie unter Unterdrücken von Warnungen.