Powershell zwraca kod wyjścia 0, gdy wystąpił błąd, jeśli wywołany z argumentem -File. Co oznacza mój build jest zielony, gdy nie powinno być :(W jaki sposób można uzyskać powershell, aby zwracać prawidłowy kod wyjścia po wywołaniu z argumentem -File?
Na przykład:
(w wtf.ps1)
$ErrorActionPreference = "Stop";
$null.split()
(cmd)
powershell -file c:\wtf.ps1
You cannot call a method on a null-valued expression.
At C:\wtf.ps1:3 char:12
+ $null.split <<<<()
+ CategoryInfo : InvalidOperation: (split:String) [], ParentConta
insErrorRecordException
+ FullyQualifiedErrorId : InvokeMethodOnNull
echo %errorlevel%
0
powershell c:\wtf.ps1
You cannot call a method on a null-valued expression.
At C:\wtf.ps1:3 char:12
+ $null.split <<<<()
+ CategoryInfo : InvalidOperation: (split:String) [], ParentConta
insErrorRecordException
+ FullyQualifiedErrorId : InvokeMethodOnNull
echo %errorlevel%
1
jakieś pomysły ?
(Próbowałem prawie każdy pomysł z pierwszych 2 stron tego: https://www.google.co.uk/search?q=powershell+file+argument+exit+code już)
Jeśli to błąd kończący, wyjście nigdy nie jest wywoływana :(A nawet gdybym try/catch i zjazd> 0, jeśli ja to nazywam z -file tracę kod wyjścia. – grahamrhay
on pracował dla mnie , zaktualizowałem moją odpowiedź z przykładowym kodem –
Hmm, twój przykład działa dla mnie, a mimo to moja kompilacja jest nadal zielona, zobaczę, czy mogę wyliczyć, co jest różne – grahamrhay