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

Azure Pipelines中DotNetCoreCLI任务双引号转义问题

解决DotNetCoreCLI@2任务中保留ContainerImageTags参数引号格式的问题

要在DotNetCoreCLI@2任务中正确传递-p ContainerImageTags='"1.0.0;latest"'(即实际执行时的-p ContainerImageTags='"1.0.0;latest"')格式参数,需遵循YAML的转义规则,而非Bash的shell转义逻辑,具体有两种可行方案:

方案一:双引号包裹arguments,用\"转义内部双引号

- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    arguments: "-c Release -p ContainerImageTags='\"1.0.0;latest\"'"

YAML解析后,最终传递给dotnet publish的参数会保留'"1.0.0;latest"'的格式,符合.NET SDK内置容器支持的要求。

方案二:单引号包裹arguments,用两个单引号转义内部单引号

- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    arguments: '-c Release -p ContainerImageTags=''"1.0.0;latest"''

在YAML的单引号字符串中,连续两个单引号会被解析为一个单引号,因此最终参数格式会被正确保留。

关键说明

DotNetCoreCLI@2任务不会像Bash任务那样处理shell层面的转义,而是直接将arguments内容作为参数传递给dotnet命令,因此必须严格按照YAML自身的字符串转义规则处理引号,才能避免双引号丢失或语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:01:08