C# 使用Github操作将多项目ASP.NET核心web应用部署到Azure应用服务

C# 使用Github操作将多项目ASP.NET核心web应用部署到Azure应用服务,c#,azure,asp.net-core,github,github-actions,C#,Azure,Asp.net Core,Github,Github Actions,我正在设置一个新的ASP.NET核心(3.1版)web应用程序。我将其托管在Github上,并使用Github操作将其部署到Azure应用程序服务 只要解决方案中只有一个项目(主要的ASP.NET核心项目),部署就可以正常工作 当我添加一个测试项目并设置project=helloworld/helloworld.csproj应用程序内服务配置时(正如我在互联网上找到的博客中建议的那样),部署开始失败 Github操作失败消息说我应该参考日志了解更多详细信息。我不知道从哪里可以买到这些日志 我的存

我正在设置一个新的ASP.NET核心(3.1版)web应用程序。我将其托管在Github上,并使用Github操作将其部署到Azure应用程序服务

只要解决方案中只有一个项目(主要的ASP.NET核心项目),部署就可以正常工作

当我添加一个测试项目并设置
project=helloworld/helloworld.csproj
应用程序内服务配置时(正如我在互联网上找到的博客中建议的那样),部署开始失败

Github操作失败消息说我应该参考日志了解更多详细信息。我不知道从哪里可以买到这些日志

我的存储库的结构:

- helloworld (sln directory)
  - helloworld.sln
  - helloworld (main asp.net core project directory)
    - helloworld.csproj
  - tests
    - helloworld.tests (test project directory)
      - helloworld.tests.csproj
Github操作工作流定义是设置应用程序服务时自动生成的基本定义:

...
- name: dotnet publish
  run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp

- name: Deploy to Azure Web App
  uses: azure/webapps-deploy@v1
  with:
    app-name: 'helloworld'
    slot-name: 'production'
    publish-profile: ${{ secrets.AzureAppService_PublishProfile_6941d41e13284fa890c1c34ffa8674e0 }}
    package: ${{env.DOTNET_ROOT}}/myapp 

如果将源发布到AppService,并让它生成和运行项目,则可以使用
PROJECT
设置。您的工作流正在使用Github操作构建和生成代码,因此您只需发布编译后的结果。您需要做的是发布所需的项目。应该是这样的:

-名称:dotnet发布
运行:dotnet publish helloworld/helloworld.csproj-c Release-o${{env.dotnet_ROOT}}/myapp

这非常有效,谢谢!你知道这是在哪里记录的吗?我一直在查看MS和GitHub关于操作的文档,但找不到。类似于以下内容:。如果需要直接指定项目,它取决于工作目录和解决方案结构。与Github操作或Azure相比,这更像是一个.NET核心构建。