В настоящее время я изучаю вопрос о том, чтобы развернуть нашу взломанную систему развертывания с чем-то более элегантным - Octopus. При этом я пытаюсь получить VS для упаковки проекта при запуске сборки. Ну, у меня есть эта фантазия powershell script написанная и работающая, но когда я пытаюсь EXEC из msbuild script, визуальная студия просто висит!
Сначала я подозревал, что в оболочке сбежал материал, но я упростил его до смешного, и он все еще зависает.
Вот соответствующий код MsBuild:
<PropertyGroup>
<PowerShellExe Condition=" '$(PowerShellExe)'=='' ">
%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe
</PowerShellExe>
</PropertyGroup>
<Target Name="AfterBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Exec Command="$(PowerShellExe) -NonInteractive -executionpolicy Unrestricted -command get-childitem" />
</Target>
Все, что он должен сделать, это предоставить список каталогов. Вызов этого из cmd.exe отлично работает:
C:\Users\smithj>%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe -noninteractive -executionpolicy unrestricted -command dir
Попытка:
msbuild Solution.sln /p:Configuration=Release
Получает это:
AfterBuild:
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\\tf.exe" che
ckout Package.nuspec
Package.nuspec
%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe
-NonInteractive -executionpolicy Unrestricted -command dir
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.
После этого он просто вешает навсегда. Любые предложения приветствуются.