【发布时间】:2009-05-15 15:15:32
【问题描述】:
我刚刚在 PowerShell v1.0 上对此进行了测试。设置如下:
Id CommandLine
-- -----------
1 $msbuild = "C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe"
4 $a = "C:\some\project\or\other\src\Solution.sln /target:Clean /target:Build"
.
此行失败并显示不直观的错误消息:
Id CommandLine
-- -----------
5 & $msbuild $a
.
此行失败,因为 & 期望第一个参数是命令本身。
Id CommandLine
-- -----------
10 & "$msbuild $a"
.
这条线有效:
Id CommandLine
-- -----------
16 cmd /c "$msbuild $a"
.
请解释一下。我对 & 语法为什么不起作用比特定于 MSBuild 的解决方法更感兴趣。
【问题讨论】:
-
我建议使用
Invoke-MSBuild等辅助cmdlet,而不是直接调用MSBuild。
标签: powershell