升级到ASP.NET Core MVC 2.2后,默认路由操作不起作用

Joe*_*tte 5 asp.net-core-mvc asp.net-core

将我的应用程序从asp.net core 2.1更新到2.2后,似乎默认路由操作不适用于单独类库中的控制器。

例如,我有一个像这样的默认路由:

routes.MapRoute(
            name: "default",
            template: "{controller}/{action}"
            ,defaults: new { controller = "Home", action = "index" }
            );
Run Code Online (Sandbox Code Playgroud)

在我的类库中,我有一个控制器SiteAdminController,它具有Index动作方法。

当我访问url / siteadmin时,我得到的是HomeController索引,而不是SiteAdminController的index操作

如果我使用/ siteadmin / index,那么它可以工作

如何在不要求在URL中显式执行index操作的情况下使其工作?在2.1中工作正常

Bas*_*aad -1

您是否尝试过在模板中设置默认值?

app.UseMvc(routes =>
        {
            routes.MapRoute(
              name: "default", 
              template: "{controller=Home}/{action=Index}");
        }
);
Run Code Online (Sandbox Code Playgroud)

这在 Core 2.2 中对我有用