.net core 3, MVC, Использование 'UseMvcWithDefaultRoute' для настройки MVC не поддерживается при использовании маршрутизации конечной точки - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь создать простой проект на основе ASP.NET Core 3.

Шаблон MVC для ASP.NET Core 2.2 содержит следующую строку внутри класса запуска:

app.UseMvcWithDefaultRoute();

Эта строка отлично работает в ASP.NET Core 2.2, а маршрутизация работает, однако в ASP.NET Core 3.0 она не компилируется и отображает следующую ошибку

Использование «UseMvcWithDefaultRoutee» для настройкиMVC не поддерживается при использовании Endpoint Routing.

Вопрос: «Как настроить маршрутизацию в .net core версии 3 для приложения MVC?»

Есть похожий вопрос: Использование 'UseMvc' для настройки MVC не поддерживается при использовании маршрутизации конечной точки , но ответ выглядит довольно сложным для этой проблемы.

Ответы [ 2 ]

2 голосов
/ 07 октября 2019

Это не существует для ASP.NET Core 3, как вы можете видеть здесь , оно поддерживается только до 2.2.

Вам нужно переключиться на app.UseMvc(); при регистрации полного MVCтрубопровод.

Для API необходимо выполнить следующее

app.UseRouting();
app.UseEndpoints(builder => builder.MapControllers());
0 голосов
/ 07 октября 2019

Я нашел решение в следующей официальной документации " Миграция с ASP.NET Core 2.2 на 3.0 ":

Замените UseMvc или UseSignalR на UseEndpoints.

В моем случае результат выглядел так

  public class Startup
{

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
    }


    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseStaticFiles();
        app.UseRouting();
        app.UseCors();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}");
        });

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...