[英]Line breaks invoking PowerShell from MSBuild
我正在尝试从我的MSBuild脚本调用PowerShell脚本。 当我将以下内容折叠成一行时,它会运行,但是当我这样离开时,出现以下错误。 万一重要,我将从BAT脚本开始启动MSBuild脚本。
<Exec Command="powershell.exe -NonInteractive -ExecutionPolicy Unrestricted
-Command "& Invoke-Command
-ComputerName '$(Server)'
-ScriptBlock {
&install.ps1
-serviceName '$(ServiceName)'
-exePath '$(ExePath)'
-computerName '$(Server)'
} "
" />
无法将“ -Command”识别为内部或外部命令,可操作程序或批处理文件。
无法将“ -ComputerName”识别为内部或外部命令,可操作程序或批处理文件。
无法将“ -ScriptBlock”识别为内部或外部命令,可操作程序或批处理文件。
&目前无法预料。
我从Microsoft文档中复制了XML作为起点,检查所有空格都是纯空格字符,我尝试在每行的末尾添加一个空格,并尝试确保每行的开头只有一个空格最后都没有,我尝试了Windows和Unix的行尾。 这些都不起作用,所以我不确定会发生什么。
得到一些反馈后,我尝试将`
和^
添加到每行的末尾,除了带有/>
那一行之外,都没有允许脚本运行。
感谢@PetSerAl的评论,我可以这样解决它,方法是在每行的末尾,每个双引号和&符之前添加^
:
<Exec Command="powershell.exe -NonInteractive -ExecutionPolicy Unrestricted ^
-Command ^"^& Invoke-Command
-ComputerName '$(Server)' ^
-ScriptBlock { ^
^&install.ps1 ^
-serviceName '$(ServiceName)' ^
-exePath '$(ExePath)' ^
-computerName '$(Server)' ^
} ^"
" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.