标签: powershell tfs
我有一个脚本,其参数为
.\script1.ps1 -Arg1 "Argument 1" -Arg2 "Argument 2"
我已将TFS中参数的格式设置为:
.\script.ps1 -Arg1 $($arg1) -Arg2 $($Arg2)
当我尝试传递Arg2时,我收到以下错误:
缺少参数'Arg1'的参数。指定类型的参数 'System.String []'再试一次。
答案 0 :(得分:1)
根据您的问题,您将参数放在变量中。我怀疑你只是在尝试传递Arg2时输入$ Arg2变量的值。在这种情况下,powershell脚本以下列格式运行,因为Arg1参数为空,导致出现错误消息:
.\script.ps1 -Arg1 -Arg2 Arg2Value
解决方法是使用变量直接控制参数。例如,在构建定义中添加两个变量:Arg1和Arg2
在PowerShell脚本任务参数中,只需输入:$(Arg1) $(Arg2)
$(Arg1) $(Arg2)
使用此功能,如果只想传递Arg2,则可以在构建队列时将Arg1变量设置为空。