我在Powershell构建步骤中配置了以下参数:-protocol:http -portsToOpen 9512,9513,9512
。
一旦TFSBuild运行整个脚本,就会抛出以下错误:
“System.Int32 []”。错误:“无法转换 “9512,9513,9515”到“System.Int32”
问题是TFSBuild正在运行带有小数的脚本9512,9513,9515(即'9512,9513,9515'
)。
这有什么解决方案吗?一种可能的解决方法是从命令构建步骤运行powershell.exe
...但我想知道是否有一些直接解决此问题的方法。
答案 0 :(得分:0)
我没有使用TFS,但我可以告诉你PowerShell正在将其解析为整数数组(System.Int32[]
)并尝试将其作为参数传递给-portsToOpen
如果您在该行上没有变量,则可以使用stop parsing operator --%
指示Windows PowerShell不要将输入解释为Windows PowerShell命令或表达式。
icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F
您还可以实际将其放在引号中,以便PowerShell将其视为字符串。我找不到文档来备份它对该参数的预期输入,所以我不确定。