Моя пользовательская задача сборки зависает только в сборке 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