Tenía un proyecto Asp.Net core 2.2.
Recientemente, cambié la versión de .net core 2.2 a .net core 3.0 Preview 8. Después de este cambio, veo este mensaje de advertencia:
el uso de 'UseMvc' para configurar MVC no es compatible mientras se usa Endpoint Routing. Para continuar usando 'UseMvc', configure 'MvcOptions.EnableEndpointRouting = false' dentro de 'ConfigureServices'.
Entiendo que al establecer el valor EnableEndpointRouting
falso puedo resolver el problema, pero necesito saber cuál es la forma correcta de resolverlo y por qué Endpoint Routing no necesita UseMvc()
funcionar.
c#
asp.net-mvc
asp.net-core
.net-core
Mehrdad Babaki
fuente
fuente
Respuestas:
En general, debe usar en
EnableEndpointRouting
lugar deUseMvc
, y puede consultar Actualizar código de inicio de enrutamiento para conocer los pasos detallados para habilitarEnableEndpointRouting
.Para
UseMvc
, usathe IRouter-based logic
yEnableEndpointRouting
usaendpoint-based logic
. Están siguiendo una lógica diferente que se puede encontrar a continuación:Para
EnableEndpointRouting
, utiliza EndpointMiddleware para enrutar la solicitud a los puntos finales.fuente
Encontré la solución, en la siguiente documentación oficial " Migrar de ASP.NET Core 2.2 a 3.0 ":
Hay 3 enfoques:
En mi caso, el resultado se veía así
fuente
services.AddRazorPages();
lugar deservices.AddMvc();
Esto funcionó para mí (agregar en
Startup.cs
> método ConfigureServices):fuente
El problema que encontré se debe a las actualizaciones en el marco .NET Core. La última versión publicada de .NET Core 3.0 requiere una aceptación explícita para usar MVC.
Este problema es más visible cuando se intenta migrar de una versión anterior de .NET Core (2.2 o versión preliminar 3.0) a .NET Core 3.0
Si está migrando de 2.2 a 3.0, utilice el siguiente código para solucionar el problema.
Si usa la plantilla .NET Core 3.0,
Método ConfigServices después de arreglar como se muestra a continuación,
Gracias
fuente
Para DotNet Core 3.1
Utilizar a continuación
Archivo: Startup.cs public void Configure (aplicación IApplicationBuilder, entorno IHostingEnvironment) {
fuente
Puede utilizar: en el método ConfigureServices:
Y para el método Configurar:
fuente
Esto funcionó para mí en .Net Core 3.1.
fuente
Usar código a continuación
fuente