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

YAML流水线执行Batch脚本报错:容器执行流不支持旧版处理器

解决容器化流水线中BatchScript@1任务的Legacy Handler错误

问题原因

BatchScript@1属于旧版任务,在容器执行流程中不支持其遗留的Microsoft.VisualStudio.Services.Agent.Worker.ProcessHandlerData执行处理器。同时你的YAML配置存在多余的转义引号,会导致路径解析异常。

修复方案

替换BatchScript@1为适配容器环境的CmdLine@2任务,同时修正路径引用方式:

variables:
  devCmd: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.com'
  disableToolPath: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild'

- task: CmdLine@2
  displayName: Enable .vdproj Builds
  inputs:
    script: '"$(disableToolPath)\DisableOutOfProcBuild.exe"'
    workingDirectory: '$(disableToolPath)'

关键修改点

  • 替换任务类型:用现代的CmdLine@2替代旧版BatchScript@1,CmdLine任务原生支持容器执行流程,无遗留处理器兼容问题。
  • 清理转义符:原配置中的"是HTML转义引号,YAML中直接用双引号包裹带空格的路径即可,无需额外转义。
  • 修正参数名称:CmdLine任务的工作目录参数为workingDirectory,而非BatchScript任务的workingFolder。

额外注意

若流水线运行在Windows容器中,需确保容器镜像已正确安装Visual Studio 2022 Enterprise及对应的Installer Projects扩展,否则disableToolPath指向的文件会不存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:48:16