У меня был проект ядра 2.2 Asp.Net.
Недавно я изменил версию с .net core 2.2 на .net core 3.0 Preview 8. После этого изменения я вижу это предупреждающее сообщение:
Использование UseMvc для настройки MVC не поддерживается при использовании маршрутизации конечных точек. Чтобы продолжить использование UseMvc, установите MvcOptions.EnableEndpointRouting = false внутри ConfigureServices.
Я понимаю, что установив EnableEndpointRouting
значение false, я могу решить проблему, но мне нужно знать, как правильно ее решить и почему для маршрутизации конечных точек не нужна UseMvc()
функция.
c#
asp.net-mvc
asp.net-core
.net-core
Мехрдад Бабаки
источник
источник
Ответы:
В общем, вы должны использовать
EnableEndpointRouting
вместоUseMvc
, и вы можете обратиться к Код запуска обновления маршрутизации для получения подробных инструкций по включениюEnableEndpointRouting
.Ибо
UseMvc
он используетthe IRouter-based logic
иEnableEndpointRouting
используетendpoint-based logic
. Они следуют другой логике, которую можно найти ниже:Для маршрутизации запроса к конечным точкам
EnableEndpointRouting
он использует EndpointMiddleware .источник
Я нашел решение в следующей официальной документации « Переход с ASP.NET Core 2.2 на 3.0 »:
Есть 3 подхода:
В моем случае результат выглядел так
источник
services.AddRazorPages();
вместоservices.AddMvc();
Это сработало для меня (добавьте
Startup.cs
> метод ConfigureServices):источник
Я обнаружил, что проблема связана с обновлениями платформы .NET Core. Последняя выпущенная версия .NET Core 3.0 требует явного согласия на использование MVC.
Эта проблема наиболее заметна при попытке перейти со старой версии .NET Core (2.2 или предварительная версия 3.0) на .NET Core 3.0.
При переходе с 2.2 на 3.0 используйте приведенный ниже код для устранения проблемы.
Если вы используете шаблон .NET Core 3.0,
ConfigServices после исправления, как показано ниже,
Спасибо
источник
Для DotNet Core 3.1
Используйте ниже
Файл: Startup.cs public void Configure (приложение IApplicationBuilder, IHostingEnvironment env) {
источник
Вы можете использовать: в методе ConfigureServices:
И для метода настройки:
источник
Это сработало для меня в .Net Core 3.1.
источник
Используйте код ниже
источник