C# コンソール プログラム内で exe プログラムを実行しています。これを CMD 経由で実行すると、独自のログに書き込み、CMD ウィンドウにいくつかのメッセージが表示されます。プログラム内で standardOutput を読み取ると、CMD メッセージを表示できますが、プロセスが書き込むべきログが作成されていません。つまり、外部プロセスは、このブラック ボックス ユーティリティに組み込まれている独自のログに書き込むため、コンソール プログラムから実行したいのですが、ログは作成されません。誰かがこの問題に遭遇し、解決方法について何か提案がありますか? このログはユーティリティのログであるため、失うことはできません。私のプログラムとは別です。これが私のコードの抜粋です:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = processName;
startInfo.RedirectStandardOutput = true;
startInfo.Arguments = " " + dbName + " " + pw + " " + clientFile;
try
{
using (Process exeProcess = Process.Start(startInfo))
{
using (StreamReader reader = exeProcess.StandardOutput)
{
exeProcess.Start();
exeProcess.WaitForExit();
string result = reader.ReadToEnd();
Console.WriteLine(result);
}
}
}
catch (Exception e)
{
Console.WriteLine("Error: " + e);
}