Process.WaitForExit() срабатывает слишком быстроC#

Место общения программистов C#
Ответить
Anonymous
 Process.WaitForExit() срабатывает слишком быстро

Сообщение Anonymous »

Вот код, который я использую для запуска исполняемого файла extern (неуправляемого) из кода C#:

Код: Выделить всё

static void Solve()
{
Process newProc = new Process();
newProc.StartInfo.WorkingDirectory =
Path.Combine(Directory.GetCurrentDirectory(), "Data");
newProc.StartInfo.FileName = "solver.exe";
newProc.StartInfo.CreateNoWindow = true;
newProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
try
{
newProc.Start();
newProc.WaitForExit();
}
catch (Exception e)
{
StreamWriter errorReporter = new StreamWriter("ErrorLog.txt", true);
errorReporter.WriteLine(message);
errorReporter.Close();
}

newProc.Close();
}
В моем случае решатель работает около 30 секунд, если я запускаю его вручную. Результатом действий Solver.exe является файл. Но когда я вызываю его из кода, он почти в тот же момент завершает работу и ничего не делает. Выходных данных из него не поступает, выходной файл не генерируется.
Кроме того, процесс запускается правильно, ошибок не возникает. Есть ли какие-либо проблемы в приведенном выше коде или мне следует просто начать с проверки Solver.exe?

Подробнее здесь: https://stackoverflow.com/questions/179 ... s-too-fast
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»