在 Azure 上部署时,区域路由在 ASP.NET Core MVC 中不起作用

Mar*_*lin 6 routing asp.net-core-mvc azure-web-app-service

在本地运行应用程序时,所有路由都可以正常工作。但是当发布到 Azure 时,只有非区域控制器工作(例如“家庭”和“帐户”),区域路由返回 404。

Startup.cs 具有以下内容:

routes.MapRoute("areaRoute", "{area:exists}/{controller}/{action=Index}/{id?}");
Run Code Online (Sandbox Code Playgroud)

project.json 具有依赖项(除其他外):

"Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    }
Run Code Online (Sandbox Code Playgroud)

和框架:

"netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
Run Code Online (Sandbox Code Playgroud)

和发布选项:

"include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config"
    ]
Run Code Online (Sandbox Code Playgroud)

Pra*_*nav 1

通过https://github.com/dotnet/cli/issues/3795跟踪的通配模式存在问题。在该部分中列出各个区域publish/include可以用作解决方法。例如,

"include": [
  "wwwroot",
  "Views",
  "Areas/Area1/Views",
  "Areas/Area2/Views",
  "appsettings.json",
  "web.config"
]
Run Code Online (Sandbox Code Playgroud)