Bagikan melalui


SYSLIB0049: JsonSerializerOptions.AddContext sudah usang

Metode JsonSerializerOptions.AddContext<TContext>() ini usang, mulai dari .NET 8. Memanggilnya dalam kode menghasilkan peringatan SYSLIB0049 pada waktu kompilasi.

Metode JsonSerializerOptions.AddContext<TContext>() ini diperkenalkan di .NET 6 sebagai sarana untuk mengaitkan JsonSerializerOptions instans dengan jenis yang ditentukan JsonSerializerContext . Metode ini sebagian besar digantikan dalam .NET 7 dengan pengenalan kustomisasi kontrak dan TypeInfoResolver properti .

Solusi Sementara

Gunakan salah satu properti berikut ini sebagai gantinya:

  • TypeInfoResolver - Properti ini memungkinkan Anda menambahkan satu atau beberapa resolver sekaligus.
  • TypeInfoResolverChain - Properti ini memungkinkan Anda menambahkan penyelesai sebelumnya atau menambahkan di beberapa situs panggilan. Ini juga memungkinkan Anda introspiksi rantai atau menghapus komponen darinya.

Untuk informasi selengkapnya, lihat Menggabungkan generator sumber.

Menyembunyikan peringatan

Jika Anda harus menggunakan API usang, Anda dapat menekan peringatan dalam kode atau dalam file proyek Anda.

Untuk menekan hanya satu pelanggaran, tambahkan direktif praprosedur ke file sumber Anda untuk menonaktifkan lalu mengaktifkan kembali peringatan.

// Disable the warning.
#pragma warning disable SYSLIB0049

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

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

Untuk menekan semua SYSLIB0049 peringatan dalam proyek Anda, tambahkan <NoWarn> properti ke file proyek Anda.

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

Untuk informasi selengkapnya, lihat Menyembunyikan peringatan.