我在使用Azure Devops中的“替换令牌任务”将变量发送到Blazor服务器应用程序中的appsettings.json文件中时遇到了麻烦。
在中appsettings
,我有这个:
{
"version": "#{versionNumber}#"
}
在Azure DevOps中,我设置以下变量:
versionNumber: '$(version.Major).$(version.Minor).$(version.Revision)'
我的ReplaceToken任务是:
- task: replaceToken@3
displayName: "Replacing version in appsettings"
inputs:
targetFiles: '**/*.appsettings.json'
encoding: 'auto'
writeBOM: true
actionOnMissing: 'warn'
keepToken: false
tokenPrefix: '#{'
tokenSuffix: '}#'
useLegacyPattern: false
enableTelemetry: true,
verbosity: detailed
但是,在构建管道中,我看到:
replaced 0 tokens out of 0 in 0 file(s) in 1.17 seconds
我在这里做错了什么吗?
在AzureDevOps替换令牌中的appsettings中设置JSON密钥
那是因为在该任务中缺少参数“根目录”,即用于搜索文件的基本目录。如果未指定,将使用默认工作目录。
由于您未在任务中指定Root目录,因此它将使用默认的工作目录,如System.DefaultWorkingDirectory
。
但是,您可以使用targetFiles
with进行指定**/*.appsettings.json
,如果该appsettings.json
文件不是恰好位于默认文件夹的子文件夹中,则将遇到与您相同的问题。
因此,要解决此问题,我们需要指定Root目录。您可以使用“经典”模式通过“浏览根目录”选择文件:
然后我们可以通过View YAML选项获得YAML。
并用示例进行测试,它对我而言效果很好:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句