VSTS Build Task зависает при создании нового процесса в целевом скрипте Power-Shell - PullRequest
0 голосов
/ 27 июня 2018

Моя пользовательская задача сборки зависает только в сборке VSTS в моем целевом скрипте power-shell я создаю новый процесс, который выполняет некоторый файл .exe но как только я запускаю процесс, он зависает и никогда не заканчивается (только в VSTS, локально в windows работает нормально)

Я попытался изменить .exe на .dll, и он отлично работает как в VSTS, так и в Windows

Вот пример кода 1- в случае exe (который висит)

[System.Reflection.Assembly]::LoadFrom("App1.dll")
$psi = New-object System.Diagnostics.ProcessStartInfo 
$psi.CreateNoWindow = $true 
$psi.UseShellExecute = $false 
$psi.RedirectStandardOutput = $true 
$psi.RedirectStandardError = $true 
$psi.FileName = "App2.exe"
$psi.Arguments = @($arguments)
$process = New-Object System.Diagnostics.Process 
$process.StartInfo = $psi 

-Запуск "App2.exe"

 [void]$process.Start()

-Появляется после того, как я вызываю start, и заходит здесь в бесконечный цикл

$output = $process.StandardOutput.ReadToEnd() 
$process.WaitForExit() 
Write-Host $output

- Предположим, я вызываю function1 внутри "App1.dll"

[App1.NameSpace.Class]::Function1()

2 - В случае замены «App2.exe» на «App2.dll» (работает нормально)

[System.Reflection.Assembly]::LoadFrom("App1.dll")
[System.Reflection.Assembly]::LoadFrom("App2.dll")
[App2..NameSpace.Program]::Main(@($arguments)
[App1.NameSpace.Class]::Function1()

Я перепробовал все пулы агентов и все еще зависаю каждый раз, но все еще не могу понять, в чем проблема, когда я пытаюсь использовать файл .exe или когда я пытаюсь создать новый процесс, потому что он работает нормально, пока я м тестирования локально из Windows Power-Shell

...