在已发布的 Azure 应用服务中找不到 views/controller

Cant find views/controller in published Azure app service

我有一个 ASP.NET Core 2.2 网站,现在已发布到我的 Azure App 服务。

我的问题是,当我尝试在浏览器中访问我网站的已发布版本时,大多数视图都显示 404。

我有 3 个不同的控制器:

所有控制器都有动作,return视图中的动作与我在这些地图中的 razor 页面的命名完全相同(注意:Executioncontroller 仅用于 return 观看次数。):

当我创建发布配置文件时,我右键单击该项目并选择 Publish。然后我使用这些设置创建了配置文件:

当我后来访问主控制器中的索引视图时 被设置为主视图一切正常,但在点击之后我意识到一些视图只显示 Chrome 的默认 404 页面并显示:The site mysite.azurewebsites.net cant be found。在尝试弄清楚并在之后发布了几次之后,我什至找不到: https://mysite.azurewebsites.net/Home/Index 之前可以找到。

这是应用服务的常规设置:

例如,这是家庭控制器中的索引操作,return是一个视图:

并且可以在 Views/Home 文件夹中找到具有完全相同名称的视图:

我为我的应用程序服务启用了高级日志记录,当我访问 Home/Index 操作时,我得到一个异常

2020-02-24 18:44:03.709 +00:00 [Error] Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware: An unhandled exception has occurred while executing the request.System.InvalidOperationException: Cannot find compilation library location for package 'Microsoft.AspNet.WebApi.Client'

有人遇到过这个问题吗?有人知道如何解决吗? 我搜索了很多,但没有找到有同样问题的人。

提前致谢!

我怀疑某些 outdated/damaged 文件存在于 Web 服务器(您的应用程序服务)上,这导致新发布在您的 Azure 应用程序服务上无法正常运行。

正如我们在评论中讨论的那样,检查 "Remove additional files at destination" 选项以便后续部署到同一站点,这将有助于删除目的地可用的其他内容您在项目中删除的服务器(通常在应用程序服务 site\wwwroot 文件夹下)。