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

Azure DevOps CI流水线报错:指定目录不存在,求技术支持

问题排查与解决

错误ENOENT: no such file or directory, stat 'D:\a\1\b\2614'的核心原因是ArchiveFiles@2任务指定的归档目录不存在。这里D:\a\1\b是Azure DevOps默认的$(Build.BinariesDirectory)路径,2614是当前的$(Build.BuildId),意味着你的流水线中没有在该路径下生成对应BuildId的目录。

可以按以下步骤排查修复:

  • 验证目录是否存在:在ArchiveFiles任务前添加一个PowerShell任务,打印BinariesDirectory下的所有内容,确认目标目录是否生成:

    Get-ChildItem -Path $(Build.BinariesDirectory) -Recurse
    Write-Host "当前BuildId: $(Build.BuildId)"
    

    运行流水线后查看日志,就能清楚看到是否有$(Build.BuildId)对应的目录。

  • 检查前置任务的输出路径:确认你之前的构建/编译任务(比如DotNetCoreCLI@2、MSBuild@1等)是否将输出文件正确放到了$(Build.BinariesDirectory)/$(Build.BuildId)下。很多时候是前置任务的输出路径配置错误,导致目标目录为空或根本没创建。

  • 调整归档路径:如果$(Build.BuildId)目录不是必须的归档目标,可以直接归档整个BinariesDirectory,或者具体的输出子目录(比如Release、Debug)。修改ArchiveFiles任务的rootFolderOrFile配置:

    rootFolderOrFile: '$(Build.BinariesDirectory)'
    # 或者指定具体子目录,比如:
    # rootFolderOrFile: '$(Build.BinariesDirectory)/Release'
    
  • 确认变量引用正确性:虽然这里变量写法没问题,但可以在任务中打印变量值,确保$(Build.BuildId)和$(Build.BinariesDirectory)的取值符合预期:

    Write-Host "BinariesDirectory路径: $(Build.BinariesDirectory)"
    Write-Host "当前BuildId: $(Build.BuildId)"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:05:01