Routing 在Azure上部署时,区域路由在ASP.NET核心MVC中不起作用
在本地运行应用程序时,所有路由都可以正常工作。但是当发布到Azure时,只有非区域控制器工作(如“主”和“帐户”),区域路由返回404 Startup.cs具有以下功能:Routing 在Azure上部署时,区域路由在ASP.NET核心MVC中不起作用,routing,asp.net-core-mvc,azure-web-app-service,Routing,Asp.net Core Mvc,Azure Web App Service,在本地运行应用程序时,所有路由都可以正常工作。但是当发布到Azure时,只有非区域控制器工作(如“主”和“帐户”),区域路由返回404 Startup.cs具有以下功能: routes.MapRoute("areaRoute", "{area:exists}/{controller}/{action=Index}/{id?}"); project.json具有依赖性(除其他外): 和框架: "netcoreapp1.0": { "imports": [ "dotne
routes.MapRoute("areaRoute", "{area:exists}/{controller}/{action=Index}/{id?}");
project.json具有依赖性(除其他外):
和框架:
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
和出版选项:
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config"
]
正在通过跟踪的全球化模式存在问题。在
publish/include
部分列出各个区域可以作为一种解决方法。比如说,
"include": [
"wwwroot",
"Views",
"Areas/Area1/Views",
"Areas/Area2/Views",
"appsettings.json",
"web.config"
]
正如Pranav的回答所指出的,这个问题似乎与出版过程中跳过的视图有关。您也可以右键单击Visual Studio中的Area/Views文件夹,如果您有急事,可以直接发布它。通过选中所有“.cshtml”文件的“属性”窗口中设置了“生成操作:内容”,我就解决了这个问题。出于某种原因,我的Index.cshtml被设置为“buildaction:None”
"include": [
"wwwroot",
"Views",
"Areas/Area1/Views",
"Areas/Area2/Views",
"appsettings.json",
"web.config"
]