Robocopy uscirà con un codice sopra lo 0 e ancora probabilmente non sarà un errore. PSake rileva qualcosa sopra lo 0 come un fallimento e fallisce la costruzione. Questo va bene, ma come mai questo ancora fallisce:Fallimento di Psake e robocopy
task Deploy {
robocopy $source $dest /NP /S /XO /NFL /NDL /NJH /NJS | Out-Default
if ($lastexitcode -eq 3)
{
Write-Host "Got Here"
$lastexitcode = 0
}
Write-Host "Deploy local complete"
Write-Host $lastexitcode
}
TaskTearDown {
if ($LastExitCode -ne 0) {
write-host "Build failed"
exit 1
}
}
posso verificare che il Deploy if viene colpito e le uscite di Write-Host 0, in modo corretto, ma la TaskTearDown rileva ancora l'ultimo codice di uscita come 3! Come posso risolvere questo?
non vorrei assegnare '$ lastexitcode', è una variabile automatica. L'assegnazione crea forse una variabile locale e 'TaskTearDown' vede ancora l'originale. In ogni caso cerca di utilizzare un approccio diverso senza '$ lastexitcode = 0'. –