Я не знаю, в чем ошибка , но у меня есть догадка, что если вы перенаправите stderr (RedirectStandardError = true
) и прочитаете поток stderr (как вы делаете с stdout), он скажет вам , В качестве альтернативы, во время отладки оставьте CreateNoWindow = false
и, возможно, вы увидите сообщение консоли (особенно, если оно ожидает нажатия клавиши; в противном случае оно может исчезнуть слишком быстро, чтобы заметить).
Обратите внимание, что вам может потребоваться настроить асинхронные программы чтения на stdout / stderr, если процесс не завершается. Вы можете сделать это либо в дополнительных потоках, либо с помощью событий OutputDataReceived
/ ErrorDataReceived
(вам также необходимо установить EnableRaisingEvents
в true
).
Если это все еще не работает; Вы можете попробовать запустить с UseShellExecute=true
. Это означает, что вы не сможете перенаправить ввод-вывод, поэтому вам, возможно, придется использовать >
/ >>
и т. Д., Чтобы передать вывод в файл (в идеале в temp), а затем прочитать файл.