Я работаю над методом в DLL.В моем методе я записывал в журнал событий, чтобы я мог определить, все ли работает так, как я ожидаю.Одна из задач, которые я выполняю в этом методе, - это создать процесс и запустить приложение командной строки, и я хочу иметь возможность записать вывод этого, который обычно записывается в консоль, и записать его в журнал событий.
Код:
Process getNextIons = new Process();
getNextIons.StartInfo.FileName = @"""C:\Program Files\OpenMS- 1.6\PrecursorIonSelector.exe""";
getNextIons.StartInfo.Arguments = @"-ini ""C:\Program Files\OpenMS-1.6\precursorionselector.ini""";
getNextIons.StartInfo.UseShellExecute = false;
getNextIons.StartInfo.RedirectStandardOutput = true;
getNextIons.Start();
getNextIons.WaitForExit();
System.Diagnostics.EventLog.WriteEntry("FMANWiff", "IPS: " + getNextIons.StandardOutput.ReadToEnd());
У меня есть консольное тестовое приложение, которое вызывает мой метод, и когда я делаю это, я вижу, что процесс был запущен и работал правильно, однако, когда я на самом деле пытаюсь использоватьDLL, не использующая тестовое приложение, все, что я в итоге вижу, это запись:
IPS: и ничего из вывода.Однако я могу сказать, что он работает, так как я вижу, как обновляется несколько выходных файлов.
Кто-нибудь знает, почему я не получаю никаких выходных данных и как я могу это исправить?