2013-04-10 154 views
4

我有以下生成後事件:開始與後期生成PowerShell腳本

powershell Set-ExecutionPolicy Unrestricted 
powershell -file "$(SolutionDir)Obfuscation\_obfuscate.ps1" "$(SolutionDir)" "$(ProjectDir)" 
powershell Set-ExecutionPolicy Restricted 

和PS腳本:

param 
( 
    [string]$slnDir, 
    [string]$projectDir 
) 

時的MSBuild改掉來運行它,我的第一個參數"$(SolutionDir)"被分裂在兩個參數中,因爲解決方案路徑包含空格字符:D:\Projects\Dion2 Mercurial\repo\Dion2Web\。所以我的腳本收到D:\Projects\Dion2作爲第一個參數,Mercurial\repo\Dion2Web\作爲第二個參數。

將這些參數發送到腳本文件的正確方法是什麼?

注意:當腳本只有一個參數時,這樣的構建後腳本工作正常。

回答

1

嘗試調整後生成事件使用如下:

powershell -file "$(SolutionDir)Obfuscation\_obfuscate.ps1" -slnDir '$(SolutionDir)' -projectDir '$(ProjectDir)' 
+0

您可以添加'-ExecutionPolicy Bypass'參數,如果你不想永久更改執行策略。 – 2017-01-19 10:31:08