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

如何强制DotNetCoreCLI@2构建指定的目标项目?

解决DotNetCoreCLI@2强制构建指定项目的问题

我在Azure DevOps中使用DotNetCoreCLI@2任务发布指定项目时遇到异常,任务配置如下:

- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    projects: 'orb/orb.csproj'
    arguments: '--configuration Release --output $(Build.BinariesDirectory)/publish_output/App_Data/jobs/triggered/orb --verbosity detailed'
    zipAfterPublish: false
    modifyOutputPath: false

预期应该构建orb/orb.csproj,但日志显示实际执行的命令却在构建另一个无关项目:

"C:\Program Files\dotnet\dotnet.exe" publish D:\a\1\s\differentProject\differentProject.csproj --configuration Release --output D:\a\1\b/publish_output/App_Data/jobs/triggered/orb --verbosity detailed

可以通过以下几种方式强制任务构建指定项目:

  • 明确指定项目的绝对路径
    直接使用$(Build.SourcesDirectory)(源代码根目录变量)拼接项目路径,避免路径解析歧义:

    - task: DotNetCoreCLI@2
      inputs:
        command: 'publish'
        projects: '$(Build.SourcesDirectory)/orb/orb.csproj'
        arguments: '--configuration Release --output $(Build.BinariesDirectory)/publish_output/App_Data/jobs/triggered/orb --verbosity detailed'
        zipAfterPublish: false
        modifyOutputPath: false
    
  • 指定任务工作目录
    在任务中添加workingDirectory参数,确保任务在源代码根目录下执行,保证相对路径的正确性:

    - task: DotNetCoreCLI@2
      inputs:
        command: 'publish'
        projects: 'orb/orb.csproj'
        arguments: '--configuration Release --output $(Build.BinariesDirectory)/publish_output/App_Data/jobs/triggered/orb --verbosity detailed'
        zipAfterPublish: false
        modifyOutputPath: false
        workingDirectory: '$(Build.SourcesDirectory)'
    
  • 添加--no-dependencies参数避免连带构建
    如果问题是因为项目依赖导致连带构建了其他项目,可以在arguments中加入--no-dependencies,仅构建指定项目本身:

    - task: DotNetCoreCLI@2
      inputs:
        command: 'publish'
        projects: 'orb/orb.csproj'
        arguments: '--configuration Release --output $(Build.BinariesDirectory)/publish_output/App_Data/jobs/triggered/orb --verbosity detailed --no-dependencies'
        zipAfterPublish: false
        modifyOutputPath: false
    
  • 检查路径拼写与项目结构
    确认orb/orb.csproj确实存在于仓库根目录下,没有拼写错误(比如大小写、目录名错误),可以通过构建日志中的Working directory字段确认任务当前的执行目录,验证相对路径是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:25:59