Получение $LastExitCode в PowerShell при вызове Visual Build с использованием PowerShell
Я хочу вызвать сборку VisualBuild из PowerShell и получить последний код выхода.
Я вызываю Build, используя.
Start-Process -FilePath $VisualBuild -ArgumentList "/b Somescript.bld" -PassThru -NoNewWindow
Я уже пытался использовать механизм try catch, но это привело к тому, что LastExitCode стал равным 0, даже если Build Failed.
При использовании чего-то вроде
$BuildProcess = Start-Process -FilePath $VisualBuild -ArgumentList "/b Somescript.bld" -PassThru -NoNewWindow
Write-Host "$($BuildProcess.ExitCode)"
Мой скрипт получает зависание после выполнения и отображения того, что сборка не удалась, но вывод LastExitCode никогда не отображается.
Переменная $VisualBuild содержит полный путь к VisBuildCmd.exe
1 ответ
Решение
Я думаю, что вам просто нужно получить ваш последний код выхода сразу после вашей команды и сохранить его в переменной:
Start-Process -FilePath $VisualBuild -ArgumentList "/b Somescript.bld" -PassThru -NoNewWindow
$MyLastExitCode = $LastExitCode
Write-Host "LastExitCode: $MyLastExitCode"
У меня были предыдущие проблемы, когда я запускал команду до того, как отобразил свой последний код выхода, и он всегда был 0
, Это может быть похожая проблема.