Acabei de atualizar meu projeto ASP Web API do. Net core 2.0
a 3.0
. Eu estava usando
services.AddMvc()
.AddJsonOptions(options =>options.SerializerSettings.ContractResolver
= new DefaultContractResolver());
anteriormente para garantir letras minúsculas do JSON serializado.
Após a atualização para 3.0, recebo este erro:
Erro CS1061 'IMvcBuilder' não contém uma definição para 'AddJsonOptions' e nenhum método de extensão acessível 'AddJsonOptions' aceitando um primeiro argumento do tipo 'IMvcBuilder' pôde ser encontrado (está faltando uma diretiva using ou uma referência de assembly?)
De acordo com AddJsonOptions para MvcJsonOptions no Asp.Net Core 2.2, o método de extensão AddJsonOptions é / foi fornecido pelo pacote nuget Microsoft.AspNetCore.Mvc.Formatters.Json . Tentei instalar / reinstalar isso, mas ainda não consigo resolver o método. Curiosamente, o intellisense mostra apenas Microsoft.AspNetCore.Mvc.Formatters. Xml quando tento adicionar a instrução using, embora tenha adicionado o pacote nuget Json .
Alguma ideia do que está acontecendo? A documentação para AddJsonOptions vai até .Net 2.2, então talvez o método tenha sido preterido no 3.0 em favor de algum outro mecanismo de configuração.
fonte
AddNewtonsoftJson
está faltando, mesmo depois de fazer referência a essaMicrosoft.AspNetCore.Mvc.NewtonsoftJson
referência.[JsonIgnore]
partir doSystem.Text.Json.Serialization
namespace.Isso funcionou para mim, ao usar
.Net Core 3
:fonte
o.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
o.JsonSerializerOptions.DictionaryKeyPolicy = null;
eo.JsonSerializerOptions.PropertyNameCaseInsensitive = false;
Isso ajudaria
fonte