Powershell Command后期制作VS2010

时间:2011-12-19 22:41:47

标签: visual-studio-2010 powershell

我在Visual Studio 2010中的post-build事件命令行中有一个命令

Powershell -command .'$(SolutionDir)Powershell\MoveFiles.ps1'

当事件运行时,我收到错误,命令“退出代码1。”

但是当我在命令行上运行相同的命令(见下文)时,使用实际目录而不是VS2010宏,它可以很好地工作。

Powershell -command .'C:\TFS\MyProject\Main\Source\Powershell\MoveFiles.ps1'

所以似乎问题在于VS2010如何执行命令。

可能导致此问题的原因是什么?

[UPDATE]

我也尝试将post-build事件更改为:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Powershell -command .'C:\TFS\MyProject\Main\Source\Powershell\MoveFiles.ps1'我得到与上述相同的结果。它从命令行运行时有效,但不能从VS 2010运行。

2 个答案:

答案 0 :(得分:4)

两件事:

  1. 使用-file参数代替-command参数。
  2. 使用双引号。
  3. powershell.exe -file "$(SolutionDir)Powershell\MoveFiles.ps1"

答案 1 :(得分:3)

如果您在64位操作系统上运行,则需要指定64位版本的powershell的完整路径,因为Visual Studio是一个32位应用程序。

this question中有一个答案可以解决问题。