Azure DevOps Pipeline字符串列表变量报错‘序列不符合预期’求助
解决Azure DevOps流水线列表变量传递的"A sequence was not expected"错误
问题出在你传递列表变量到模板参数的方式上:当使用$(functionNames)引用列表类型变量时,Azure DevOps会将其转换为逗号分隔的字符串,但你的模板参数functionNames期望的是一个序列(列表)类型,因此触发了错误。
修复方法
使用编译时表达式语法${{ variables.functionNames }}直接传递原始列表变量,而不是运行时的$(...)引用。修改后的流水线代码如下:
trigger: - none variables: functionNames: - 'Function1' - 'Function2' stages: - template: ../Stage/build-stage.yml parameters: functionNames: ${{ variables.functionNames }}
关键说明
$(variable)是运行时变量引用,仅适用于简单字符串类型,会将列表转为逗号分隔的字符串。${{ variables.variable }}是编译时表达式,能保留变量的原始类型(比如列表、对象),适合在模板参数间传递复杂类型变量。
内容的提问来源于stack exchange,提问作者Nopesound
相关产品推荐
相关产品推荐

