Właśnie zaktualizowałem mój projekt interfejsu API sieci Web ASP z. Net core 2.0
do 3.0
. Używałem
services.AddMvc()
.AddJsonOptions(options =>options.SerializerSettings.ContractResolver
= new DefaultContractResolver());
poprzednio, aby zapewnić mniejsze wielkości liter w serializowanym formacie JSON.
Po aktualizacji do 3.0 pojawia się ten błąd:
Błąd CS1061 „IMvcBuilder” nie zawiera definicji „AddJsonOptions” i nie można znaleźć żadnej dostępnej metody rozszerzenia „AddJsonOptions” akceptującej pierwszy argument typu „IMvcBuilder” (czy brakuje dyrektywy using lub odwołania do zestawu?)
Zgodnie z AddJsonOptions dla MvcJsonOptions w Asp.Net Core 2.2 metoda rozszerzenia AddJsonOptions jest / została dostarczona przez pakiet NuGet Microsoft.AspNetCore.Mvc.Formatters.Json . Próbowałem zainstalować / ponownie zainstalować to, ale nadal nie mogę rozwiązać metody. Co ciekawe, funkcja Intellisense wyświetla tylko Microsoft.AspNetCore.Mvc.Formatters. XML, gdy próbuję dodać instrukcję using, mimo że dodałem pakiet Json nuget.
Jakieś pomysły, co się dzieje? Dokumentacja dla AddJsonOptions idzie tylko do .NET 2.2, więc może metoda została zaniechana w 3,0 na korzyść innego mechanizmu konfiguracyjnego?
źródło
AddNewtonsoftJson
brakuje, nawet po odwołaniu się do tegoMicrosoft.AspNetCore.Mvc.NewtonsoftJson
odniesienia.[JsonIgnore]
zSystem.Text.Json.Serialization
przestrzeni nazw.To zadziałało dla mnie, podczas używania
.Net Core 3
:źródło
o.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
o.JsonSerializerOptions.DictionaryKeyPolicy = null;
io.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
To by pomogło
źródło