Proyecto Net core 2.2 a .Net 8.0. Recibo el siguiente error. Estoy usando el asistente de actualización de Visual Studio 2022.
(El mismo problema si actualizo a la versión 3.2)
Excepción de inicio de la aplicación: System.TypeLoadException: no se pudo cargar el tipo 'Microsoft.AspNetCore.Mvc.MvcJsonOptions' del ensamblado 'Microsoft.AspNetCore.Mvc.Formatters.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
en System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo métodoHandle, RuntimeType declarandoType)
en System.Reflection.RuntimeConstructorInfo.<get_Signature>g__LazyCreateSignature|21_0()
en System.Reflection.RuntimeConstructorInfo.GetParametersNoCopy()
en System.Reflection.RuntimeConstructorInfo.GetParameters()
en Microsoft.Extensions.Internal.ActivatorUtilities.CreateInstance (proveedor IServiceProvider, tipo de instancia, parámetros de objeto [])
en Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.ReflectionMiddlewareBinder.CreateMiddleware (SolicitarDelegate a continuación)
en Microsoft.AspNetCore.Builder.ApplicationBuilder.Build()
en Microsoft.AspNetCore.Hosting.WebHost.BuildApplication()
He actualizado al paquete nuget Microsoft.AspNetCore.Mvc.NewtonsoftJson - 8.0.2
También intenté agregar el siguiente código en startup.cs services.AddMvc(options => options.EnableEndpointRouting = false)
.AddNewtonsoftJson();
y
services.AddControllers()
.AddNewtonsoftJson();
No estoy seguro de por qué todavía está buscando el paquete nuget antiguo y el ensamblado Microsoft.AspNetCore.Mvc.MvcJsonOptions de la versión 2.2.
Cuando intenté buscar el antiguo ensamblaje Microsoft.AspNetCore.Mvc.MvcJsonOptions en la carpeta del proyecto, lo encontré en el proyecto de prueba en la carpeta bin\Debug\net8.0\refs. Intenté eliminarlo pero lo está agregando nuevamente en la compilación.
He actualizado al paquete nuget Microsoft.AspNetCore.Mvc.NewtonsoftJson - 8.0.2
También intenté agregar el siguiente código en startup.cs services.AddMvc(options => options.EnableEndpointRouting = false)
.AddNewtonsoftJson();
y
services.AddControllers()
.AddNewtonsoftJson();
No estoy seguro de por qué todavía está buscando el paquete nuget antiguo y el ensamblado Microsoft.AspNetCore.Mvc.MvcJsonOptions de la versión 2.2.