Как отладить / диагностировать причину сбоя команды Powershell Copy-Item в сценарии psake? - PullRequest
1 голос
/ 18 июля 2011

У меня есть очень простой сценарий, который использует Copy-Item в разделе «Построение задач» в соответствии с соглашениями psake (и примерами). Прямо сейчас это все, что он делает в попытке упростить сценарий для устранения этой проблемы.

Ошибка:

18.07.2011 17:40:57: Произошла ошибка:

Exec: Ошибка при выполнении команды: Copy-Item "$ src_dir .. \ somefolder * .dll" $ bin_dir

Я попытался просто вывести пути к файлам через Write-Host, и они выглядят нормально.

Мне нужна помощь, пожалуйста, отладьте это, чтобы заставить код сценария (Copy-Item) работать изолированно для psake не цель.

Сценарий:

Properties {
    $src_dir = Split-Path $psake.build_script_file
    $bin_dir= "$build_dir\..\Binaries\"
}

include .\psake_ext.ps1

Task Build -Depends Clean, Init {
    Write-Host "about to error here:"

    Exec { Copy-Item "$src_dir\..\somefolder\*.dll" $bin_dir }

    Write-Host "do NOT get this far"
    #more similar Exec copy commands, that don't execute
}

Task Clean {    

}

Также обратите внимание:

Этот скрипт работал и только периодически перестал работать в самом недавнем прошлом, но теперь, кажется, терпит неудачу более последовательно.

Выполняется по:

.\psake.ps1 "failing-copy-script.ps1" Build

1 Ответ

1 голос
/ 06 января 2012

Итак, на этот вопрос есть ответ, суммирующий комментарии к вопросу и другую информацию:

Если вы столкнулись с этой проблемой, выполните следующие шаги диагностики:

  1. "Вы пытались выключить и снова включить?" - Закройте все, что может иметь отношение к сценарию, включая вашу IDE, даже перезагрузите компьютер.
  2. Попробуйте такой инструмент, как lockhunter
  3. Избегайте использования команды 'Exec {bla}', если она не требуется.
  4. Поиск хуков с Process Explorer
...