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.