2013-04-10 120 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