これをPowerShell v1.0でテストしました。設定は次のとおりです。&演算子を使用してPowerShellからMSBuildを呼び出す方法は?
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特有の回避策よりも機能しないのかに興味があります。
MSBuildを直接呼び出すのではなく、[Invoke-MSBuild](http://sedodream.com/2014/07/19/IntroducingPSBuildAnImprovedInterfaceForMsbuildexeInPowerShell.aspx)などのヘルパーコマンドレットを使用することをお勧めします。 – orad