Robocopy sẽ thoát với mã trên 0 và vẫn có thể không phải là lỗi. PSake phát hiện bất cứ điều gì trên 0 như là một thất bại và không xây dựng. Điều này là tốt, nhưng làm thế nào đến này vẫn thất bại:Psake và robocopy không
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
}
}
tôi có thể xác minh rằng Triển khai lệnh if là hit và kết quả đầu ra Write-Host 0, một cách chính xác, nhưng các TaskTearDown vẫn phát hiện các mã xuất cuối cùng như 3! Làm thế nào để sửa lỗi này?
tôi sẽ không gán '$ lastexitcode', nó là một biến tự động. Chuyển nhượng có lẽ tạo ra một biến địa phương và 'TaskTearDown' vẫn thấy bản gốc. Trong mọi trường hợp, hãy thử sử dụng một cách tiếp cận khác mà không có '$ lastexitcode = 0'. –