将ASP.NET Core MVC部署至Azure App Service遇内容缺失问题求助
ASP.NET Core MVC GitHub Actions部署Azure App Service文件缺失问题解决方案
你部署后看到的是Azure App Service的默认占位页面(如下所示):
以下是针对性的排查和解决步骤:
1. 核对GitHub Actions工作流的路径配置
Visual Studio自动生成的工作流可能因为项目位置或框架版本导致路径错误,重点检查:
- 发布包路径:确保
azure/webapps-deploy步骤的package参数指向正确的发布输出目录,比如你的项目是.NET 6,路径应该类似:- name: Publish to Azure App Service uses: azure/webapps-deploy@v2 with: app-name: '你的App Service名称' publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} package: './bin/Release/net6.0/publish' - 项目目录:如果项目不在仓库根目录,在
dotnet build和dotnet publish步骤添加working-directory指定项目路径:- name: Build project run: dotnet build --configuration Release working-directory: ./你的项目子文件夹
2. 验证本地发布输出的完整性
在本地执行dotnet publish -c Release,打开生成的publish目录,确认包含wwwroot、项目dll、web.config等必要文件。如果本地输出不全,检查项目的.csproj:
- 检查是否有错误的
<ExcludeFromPublish>配置,排除了必要文件。 - 确保
wwwroot资源被正确复制:<ItemGroup> <Content Update="wwwroot/**/*"> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </Content> </ItemGroup>
3. 调整Azure App Service的部署相关设置
- 关闭
WEBSITE_RUN_FROM_PACKAGE:之前用Zip部署可能开启了这个设置,在App Service的配置 > 应用设置里,将其设置为0或者删除该条目,否则GitHub Actions部署的文件无法正常解压到站点目录。 - 确认部署中心设置:在Azure门户的App Service > 部署中心,确保部署方式是GitHub Actions,且没有冲突的配置。
4. 查看GitHub Actions部署日志
进入GitHub仓库的Actions页面,找到对应部署任务的日志:
- 检查
dotnet publish步骤是否有报错,或者输出的文件数量是否符合预期。 - 确认
azure/webapps-deploy步骤显示“Successfully deployed web package to App Service”,且有文件复制的记录。
5. 检查App Service站点目录
通过Azure门户的App Service > 高级工具 > Kudu > 控制台,进入site/wwwroot目录,查看是否有部署的文件。如果目录为空,说明工作流的package路径错误,或者发布输出本身有问题。
内容的提问来源于stack exchange,提问作者vassdeniss
相关产品推荐
相关产品推荐

