Командование Powershell после сборки VS2010 - PullRequest
4 голосов
/ 20 декабря 2011

У меня есть команда в командной строке события после сборки в Visual Studio 2010

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

И когда событие запускается, я получаю ошибку, что команда "завершена скод 1. "

Однако, когда я запускаю ту же команду в командной строке (см. ниже), с действительным каталогом вместо макроса VS2010, он отлично работает.

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

Похоже, проблема в том, как VS2010 выполняет команду.

Что может быть причиной этой проблемы?

[ОБНОВЛЕНИЕ]

У меня естьтакже попытался изменить событие после сборки на:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Powershell -command .'C:\TFS\MyProject\Main\Source\Powershell\MoveFiles.ps1', и я получил тот же результат, как описано выше.Он работает при запуске из командной строки, но не из VS 2010.

Ответы [ 2 ]

4 голосов
/ 20 декабря 2011

Две вещи:

  1. Используйте параметр -file вместо параметра -command.
  2. Используйте двойные кавычки.

powershell.exe -file "$(SolutionDir)Powershell\MoveFiles.ps1"

3 голосов
/ 20 декабря 2011

Если вы работаете в 64-битной ОС, вам нужно будет указать полный путь к 64-битной версии powershell, поскольку Visual Studio - это 32-битное приложение.

Ответ имеетсяв этот вопрос , который имеет обходной путь для проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...