На основании комментария Мофи,
Пожалуйста, прочитайте документацию Microsoft о Подробности реализации WOW64 . Существует две директории% SystemRoot% \ System32. Какой из них использовать, зависит от среды исполнения, 32- или 64-битной среды.
было легко определить, что cmd
, используемый VS, был x86 и, следовательно, не имеет доступа к той же папке System32
. Чтобы использовать OpenSSH\SCP
, мне нужно было вызвать версию cmd для x64.
Для этого мы также можем обратиться к другому ответу Мофи .
. результат выглядит примерно так:
Примечание. Здесь мы начинаем новое окно cmd, поскольку для публикации требуется ввод данных пользователем. Обычный "звонок" тоже подойдет
IF NOT DEFINED PUBLISHING (
set PUBLISHING='ON'
:: We know we are currently running x86, so call other cmd without checking version
start %SystemRoot%\Sysnative\cmd.exe /C call "$(ProjectDir)Publish.bat"
PUBLISHING=
::Needed to add for build to 'succeed', not in original script post
exit /b 0
)