替换 Azure YAML 管道中的令牌任务歧义问题

Replace Tokens Task Ambiguity Issue in Azure YAML pipeline

我在 Azure 的 YAML 管道中遇到特定任务的命名空间冲突问题。这是我遇到问题的“替换令牌”任务的代码:

      - task: replacetokens@4
        displayName: Replace tokens in localSettings.xml
        inputs:
          rootDirectory: '$(System.DefaultWorkingDirectory)\path_to_tests'
          targetFiles: 'localSettings.xml'
          encoding: 'auto'
          tokenPattern: 'default'
          writeBOM: true
          actionOnMissing: 'warn'
          keepToken: false
          actionOnNoFiles: 'continue'
          enableTransforms: false
          useLegacyPattern: false
          enableTelemetry: true

它在编译时工作正常。没有问题。但是,当我尝试 运行 管道时出现此 运行 时间错误:

Job DEV_Tests: Step task reference is invalid. The task name replacetokens is ambiguous. Specify one of the following identifiers to resolve the ambiguity: qetza.replacetokens.replacetokens-task.replacetokens, colinsalmcorner.colinsalmcorner-buildtasks.replace-tokens-task.ReplaceTokens

在我看来,“replacetokens@4”有多个版本,这就是我收到这个模棱两可的错误的原因。但是,当我尝试按照错误中的建议使用“qetza”或“colinsalmcorner”命名空间时,我收到另一个编译时错误提示,提示这些命名空间不存在:

String does not match the pattern of "^UseRubyVersion@0$".

Value is not accepted. Valid values: "UseRubyVersion@0", "deployApi@3", "deployApi@4", "deployApi@5", "ReviewApp@0", "AzureAPIImport@1", "AzureAPIImport@3", "AzureAPIImport@4", "AzureAPIImport@5", "AzureAPIImport@6", "AzureAPIUrlImport@0", "AzureAPIImport@2", "AppCenterDistribute@2", "AppCenterDistribute@3", "AppCenterDistribute@1", "AppCenterDistribute@0", "CopyFiles@2", "C

知道为什么在管道中无法识别这些名称空间,而“replacetokens@4”却被识别为名称空间冲突吗?

我检查了这个,当我使用完整命名空间时得到的只是这样的警告:

这可能是用于验证的架构不允许使用全名,但这只是一个警告。

当我验证管道时,我得到 OK