You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure持续交付部署问题:多项目解决方案仅需部署指定项目

解决Azure App Service部署多项目ASP.NET解决方案时仅部署指定项目的问题

我来帮你搞定这个部署问题!你已经尝试在App Service的应用设置里配置PROJECT = BLAH.API/BLAH.API.csproj,但还是部署了所有项目,这大概率是因为这个设置的作用场景和你的部署流程不匹配,我们一步步来调整:

核心问题分析

PROJECT应用设置主要是给Azure App Service的内置构建功能(比如直接连接GitHub仓库自动构建部署)或者本地直接发布用的,它的作用是告诉App Service在多个项目里选择哪个来启动运行。但如果你的部署流程是先通过CI/CD工具(比如Azure DevOps、GitHub Actions)提前构建了所有项目的发布包,再上传到App Service,那这个设置不会阻止所有包被上传——因为上传阶段已经把所有文件都传上去了。

具体解决方案

1. 调整构建阶段,仅生成目标项目的发布包

如果用的是命令行构建(比如dotnet CLI),修改构建命令为只针对BLAH.API项目:

dotnet publish BLAH.API/BLAH.API.csproj -c Release -o ./publish

这样构建完成后,只会生成BLAH.API的发布文件,后续上传时自然只有这一个项目的内容。

2. 配置CI/CD部署任务,仅上传目标项目包

  • Azure DevOps:在Deploy Azure App Service任务中,把「Package or folder」的路径设置为$(Build.ArtifactStagingDirectory)/BLAH.API.zip(或者你构建时生成的目标包路径),而不是整个drop文件夹。
  • GitHub Actions:在azure/webapps-deploy@v2任务里,指定package路径为目标项目的zip:
    - name: Deploy to Azure App Service
      uses: azure/webapps-deploy@v2
      with:
        app-name: your-app-service-name
        publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
        package: '**/BLAH.API.zip'
    

3. 如果你用Visual Studio直接发布

确保在发布向导里选择的是BLAH.API项目,而不是整个解决方案。在「发布」窗口的顶部,确认项目选择框里显示的是BLAH.API,再执行发布操作。

4. 验证PROJECT设置的有效性(可选)

如果是用App Service的内置构建(比如直接连接GitHub仓库),确认PROJECT路径是否正确:

  • 路径是相对于解决方案根目录的,比如如果你的解决方案文件和BLAH.API文件夹在同一层级,BLAH.API/BLAH.API.csproj是正确的;如果有嵌套文件夹,要调整路径。
  • 可以在部署日志里搜索PROJECT关键字,看App Service是否识别到了这个设置,是否尝试只构建目标项目。

按照上面的步骤调整后,就能只部署你需要的BLAH.API项目了!

内容的提问来源于stack exchange,提问作者Dean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:33:42