Eu tinha um projeto Asp.Net core 2.2.
Recentemente, mudei a versão de .net core 2.2 para .net core 3.0 Preview 8. Após essa mudança, vejo esta mensagem de aviso:
o uso de 'UseMvc' para configurar o MVC não é suportado ao usar o Endpoint Routing. Para continuar usando 'UseMvc', defina 'MvcOptions.EnableEndpointRouting = false' dentro de 'ConfigureServices'.
Eu entendo que, ao definir EnableEndpointRouting
como false, posso resolver o problema, mas preciso saber qual é a maneira adequada de resolvê-lo e por que o Endpoint Routing não precisa UseMvc()
funcionar.
c#
asp.net-mvc
asp.net-core
.net-core
Mehrdad Babaki
fonte
fonte
Respostas:
Em geral, você deve usar em
EnableEndpointRouting
vez deUseMvc
e pode consultar Atualizar código de inicialização de roteamento para obter etapas detalhadas a serem ativadasEnableEndpointRouting
.Pois
UseMvc
, ele usathe IRouter-based logic
eEnableEndpointRouting
usaendpoint-based logic
. Eles seguem lógicas diferentes que podem ser encontradas abaixo:Pois
EnableEndpointRouting
, ele usa EndpointMiddleware para rotear a solicitação para os terminais.fonte
Encontrei a solução na seguinte documentação oficial " Migrar do ASP.NET Core 2.2 para 3.0 ":
Existem 3 abordagens:
No meu caso, o resultado ficou assim
fonte
services.AddRazorPages();
vez deservices.AddMvc();
Isso funcionou para mim (adicionar
Startup.cs
método> ConfigureServices):fonte
O problema que descobri ser devido a atualizações na estrutura do .NET Core. A versão mais recente do .NET Core 3.0 lançada requer permissão explícita para usar MVC.
Esse problema é mais visível quando se tenta migrar do .NET Core mais antigo (versão 2.2 ou versão prévia 3.0) para o .NET Core 3.0
Se estiver migrando do 2.2 para o 3.0, use o código abaixo para corrigir o problema.
Se estiver usando o modelo .NET Core 3.0,
Método ConfigServices após a correção conforme abaixo,
Obrigado
fonte
Para DotNet Core 3.1
Use abaixo
Arquivo: Startup.cs public void Configure (IApplicationBuilder app, IHostingEnvironment env) {
fonte
Você pode usar: no método ConfigureServices:
E para o método Configure:
fonte
Isso funcionou para mim no .Net Core 3.1.
fonte
Use Abaixo do Código
fonte