Share via


SYSLIB0049: JsonSerializerOptions.AddContext kullanımdan kaldırıldı

JsonSerializerOptions.AddContext<TContext>().NET 8'den başlayarak yöntemi kullanımdan kaldırıldı. Kodun içinde çağrılması, derleme zamanında uyarı SYSLIB0049 oluşturur.

yöntemi, JsonSerializerOptions.AddContext<TContext>() örnekleri belirtilen JsonSerializerContext bir türle ilişkilendirmek JsonSerializerOptions için bir araç olarak .NET 6'da kullanıma sunulmuştur. Bu yöntem büyük ölçüde .NET 7'de sözleşme özelleştirmesi ve TypeInfoResolver özelliği ile değiştirildi.

Geçici çözüm

Bunun yerine aşağıdaki özelliklerden birini kullanın:

  • TypeInfoResolver - Bu özellik tek seferde bir veya birden çok çözümleyici eklemenize olanak tanır.
  • TypeInfoResolverChain - Bu özellik, birden çok çağrı ekleyerek çözümleyicileri önceden eklemenize veya eklemenize olanak tanır. Ayrıca zincire giriş yapmanızı veya bileşenleri kaldırmanızı sağlar.

Daha fazla bilgi için bkz . Kaynak oluşturucuları birleştirme.

Uyarıyı gizleme

Eski API'leri kullanmanız gerekiyorsa, uyarıyı kodda veya proje dosyanızda gizleyebilirsiniz.

Yalnızca tek bir ihlali engellemek için, önişlemci yönergelerini kaynak dosyanıza ekleyerek uyarıyı devre dışı bırakın ve sonra yeniden etkinleştirin.

// Disable the warning.
#pragma warning disable SYSLIB0049

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

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

Projenizdeki tüm SYSLIB0049 uyarıları engellemek için proje dosyanıza bir <NoWarn> özellik ekleyin.

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

Daha fazla bilgi için bkz . Uyarıları gizleme.