Я только что обновил свой проект веб-API ASP с. Net core 2.0
к 3.0
. Я использовал
services.AddMvc()
.AddJsonOptions(options =>options.SerializerSettings.ContractResolver
= new DefaultContractResolver());
ранее, чтобы обеспечить сериализованный JSON в нижнем регистре.
После обновления до 3.0 я получаю такую ошибку:
Ошибка CS1061 «IMvcBuilder» не содержит определения для «AddJsonOptions» и не может быть найден доступный метод расширения «AddJsonOptions», принимающий первый аргумент типа «IMvcBuilder» (отсутствует ли директива using или ссылка на сборку?)
Согласно AddJsonOptions для MvcJsonOptions в Asp.Net Core 2.2 метод расширения AddJsonOptions предоставляется / был предоставлен пакетом nuget Microsoft.AspNetCore.Mvc.Formatters.Json . Я попытался установить / переустановить это, но все еще не могу решить этот метод. Интересно, что intellisense показывает только Microsoft.AspNetCore.Mvc.Formatters. Xml, когда я пытаюсь добавить оператор using, хотя я добавил пакет Nuget Json .
Есть идеи, что происходит? Документация для AddJsonOptions только подходит к .Net 2.2 , так , возможно , этот метод является устаревшим в 3.0 в пользу какого - либо другого механизма конфигурации?
источник
AddNewtonsoftJson
отсутствует, даже после ссылки на этуMicrosoft.AspNetCore.Mvc.NewtonsoftJson
ссылку.[JsonIgnore]
изSystem.Text.Json.Serialization
пространства имен.Это сработало для меня при использовании
.Net Core 3
:источник
o.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
o.JsonSerializerOptions.DictionaryKeyPolicy = null;
иo.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
Это поможет
источник