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

如何让VSTS不将构建变量名称中的点转换为下划线?

解决VSTS构建变量点转下划线的问题

这个问题我之前也踩过坑!VSTS(现在的Azure DevOps)默认会把构建变量名称里的点替换成下划线,这是它的内置处理逻辑,但确实有办法绕过这个限制,下面给你几个实用的方案:

方案1:用PowerShell手动设置带点的环境变量

如果你的任务是基于PowerShell的,可以在脚本开头添加这一行,把VSTS里的变量重新设为带点的进程级环境变量:

[Environment]::SetEnvironmentVariable("MY.VAR", "$(MY.VAR)", "Process")

设置完成后,后续的PowerShell步骤里就能直接用$env:MY.VAR访问,CMD步骤则可以用%MY.VAR%访问。

方案2:用CMD手动设置带点的环境变量

如果是CMD任务,直接执行这条命令即可:

set MY.VAR=$(MY.VAR)

注意这个设置只在当前CMD进程生效,如果后续还有其他任务需要用到这个带点的环境变量,需要在对应任务前重复这个操作,或者通过任务间的变量传递来共享。

额外说明

遗憾的是,VSTS并没有提供内置的转义方式来阻止它把点转成下划线——这个转换是硬编码的逻辑。所以最可靠的方式就是通过手动重新设置的方式,创建符合你需求的带点环境变量。如果你的脚本本身可以直接引用VSTS变量,也可以直接在脚本里用$(MY.VAR)的语法,跳过环境变量这一步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:18:14