Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

555
Visualizações
¿Adónde fue IMvcBuilder AddJsonOptions en .Net Core 3.0?

Acabo de actualizar mi proyecto de API web ASP de . Net core 2.0 a 3.0 . yo estaba usando

 services.AddMvc() .AddJsonOptions(options =>options.SerializerSettings.ContractResolver = new DefaultContractResolver());

anteriormente para garantizar que el JSON serializado esté en minúsculas.

Después de la actualización a 3.0 me sale este error:

El error CS1061 'IMvcBuilder' no contiene una definición para 'AddJsonOptions' y no se pudo encontrar ningún método de extensión accesible 'AddJsonOptions' que acepte un primer argumento del tipo 'IMvcBuilder' (¿falta una directiva de uso o una referencia de ensamblado?)

De acuerdo con AddJsonOptions para MvcJsonOptions en Asp.Net Core 2.2 , el método de extensión AddJsonOptions es/fue proporcionado por el paquete nuget Microsoft.AspNetCore.Mvc.Formatters.Json . He intentado instalar/reinstalar esto pero aún no puedo resolver el método. Curiosamente, intellisense solo muestra Microsoft.AspNetCore.Mvc.Formatters. Xml cuando intento agregar la declaración de uso a pesar de que agregué el paquete Json nuget.

¿Alguna idea de lo que está pasando? La documentación para AddJsonOptions solo llega hasta .Net 2.2, por lo que quizás el método haya quedado obsoleto en 3.0 a favor de algún otro mecanismo de configuración.

over 4 years ago · Santiago Trujillo
6 Respostas
Responde à pergunta

0

Funciona para mí, instale el paquete NewtonsoftJson de NuGet "dotnet add package Microsoft.AspNetCore.Mvc.NewtonsoftJson --version 3.1.0" versión 3.1.0 que funciona para ASP.NET Core 3.0 y use el siguiente código:

 services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0) .AddNewtonsoftJson(opt => { opt.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; });

Espero que esté funcionando bien, gracias.

over 4 years ago · Santiago Trujillo Relatório

0

Asegúrese de haber instalado el paquete Microsoft.AspNetCore.Mvc.NewtonsoftJson.

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Relatório

0

esto ayudaría

 public void ConfigureServices(IServiceCollection services) { services.AddControllers().AddJsonOptions(options=> { options.JsonSerializerOptions.PropertyNamingPolicy = null; options.JsonSerializerOptions.DictionaryKeyPolicy = null; }); services.AddDbContext<PaymentDetailContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DevConnection"))); }
over 4 years ago · Santiago Trujillo Relatório

0

Esto funcionó para mí, mientras usaba .Net Core 3 :

 services.AddMvc().AddJsonOptions(o => { o.JsonSerializerOptions.PropertyNamingPolicy = null; o.JsonSerializerOptions.DictionaryKeyPolicy = null; });
over 4 years ago · Santiago Trujillo Relatório

0

Esto ayudaría a intentar instalar el paquete Nuget

Microsoft.AspNetCore.Mvc.NewtonsoftJson

over 4 years ago · Santiago Trujillo Relatório

0

Como parte de ASP.NET Core 3.0, el equipo dejó de incluir Json.NET de forma predeterminada. Puede leer más sobre eso en general en el anuncio sobre cambios importantes en Microsoft.AspNetCore.App .

En lugar de Json.NET, ASP.NET Core 3.0 y .NET Core 3.0 incluyen una API JSON diferente que se centra un poco más en el rendimiento. Puede obtener más información al respecto en el anuncio sobre "El futuro de JSON en .NET Core 3.0" .

Las nuevas plantillas para ASP.NET Core ya no se incluirán con Json.NET, pero puede reconfigurar fácilmente el proyecto para usarlo en lugar de la nueva biblioteca JSON. Esto es importante tanto para la compatibilidad con proyectos más antiguos como porque se supone que la nueva biblioteca no es un reemplazo completo, por lo que no verá el conjunto completo de funciones allí.

Para volver a configurar su proyecto ASP.NET Core 3.0 con Json.NET, deberá agregar una referencia de NuGet a Microsoft.AspNetCore.Mvc.NewtonsoftJson , que es el paquete que incluye todos los bits necesarios. Luego, en ConfigureServices de inicio, deberá configurar MVC de esta manera:

 services.AddControllers() .AddNewtonsoftJson();

Esto configura los controladores MVC y lo configura para usar Json.NET en lugar de esa nueva API. En lugar de controladores, también puede usar una sobrecarga de MVC diferente (por ejemplo, para controladores con vistas o páginas de Razor). Ese método AddNewtonsoftJson tiene una sobrecarga que le permite configurar las opciones de Json.NET como estaba acostumbrado con AddJsonOptions en ASP.NET Core 2.x.

 services.AddControllers() .AddNewtonsoftJson(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); });
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda