Saya baru saja meningkatkan proyek API web ASP saya dari. Net core 2.0
kepada 3.0
. Saya menggunakan
services.AddMvc()
.AddJsonOptions(options =>options.SerializerSettings.ContractResolver
= new DefaultContractResolver());
sebelumnya untuk memastikan casing bawah JSON serial.
Setelah meningkatkan ke 3.0 saya mendapatkan kesalahan ini:
Kesalahan CS1061 'IMvcBuilder' tidak berisi definisi untuk 'AddJsonOptions' dan tidak ada metode ekstensi yang dapat diakses 'AddJsonOptions' yang menerima argumen pertama jenis 'IMvcBuilder' dapat ditemukan (apakah Anda kehilangan petunjuk penggunaan atau referensi assembly?)
Menurut AddJsonOptions untuk MvcJsonOptions di Asp.Net Core 2.2 metode ekstensi AddJsonOptions disediakan oleh paket nuget Microsoft.AspNetCore.Mvc.Formatters.Json . Saya telah mencoba menginstal / menginstal ulang ini tetapi masih tidak dapat menyelesaikan metode ini. Menariknya, intellisense hanya menampilkan Microsoft.AspNetCore.Mvc.Formatters. Xml ketika saya mencoba menambahkan pernyataan using meskipun saya menambahkan paket nuget Json .
apa yang sedang terjadi? The dokumentasi untuk AddJsonOptions hanya naik ke Net 2,2 jadi mungkin metode telah usang dalam 3.0 mendukung beberapa mekanisme konfigurasi lainnya?
sumber
AddNewtonsoftJson
hilang, bahkan setelah merujuk referensi ituMicrosoft.AspNetCore.Mvc.NewtonsoftJson
.[JsonIgnore]
dariSystem.Text.Json.Serialization
namespace.Ini berhasil untuk saya, saat menggunakan
.Net Core 3
:sumber
o.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
o.JsonSerializerOptions.DictionaryKeyPolicy = null;
dano.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
Ini akan membantu
sumber