5

我有以下构建后事件:

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\第二个参数接收。

将这些参数发送到脚本文件的正确方法是什么?

注意:当脚本只有一个参数时,此类构建后脚本可以正常工作。

4

1 回答 1

2

尝试调整您的后期构建事件以使用以下内容:

powershell -file "$(SolutionDir)Obfuscation\_obfuscate.ps1" -slnDir '$(SolutionDir)' -projectDir '$(ProjectDir)'
于 2013-04-10T19:32:11.683 回答