プロセスで実行しようとしているFortran実行可能ファイルがあります。 Fortran実行可能ファイルは、ユーザーからファイルを要求し、解決策を見つけるための操作を実行し、その後に複数の解決策がある場合、最適解を探したいかどうかをユーザーに尋ねます。私がここで提供しているコードは、GUIのように見えないので、入力アイドルを待つよう呼び出すと、常にクラッシュするようです。私はプロセスを使用することに新しいので、誰かが私を助けることができれば、それは高く評価されます。C#からFortran実行ファイルを呼び出す処理
ありがとうございました。
編集:結果をユーザーに提供するために、Fortran実行可能ファイルがテキストファイルを生成することに言及していません。私は、入力アイドルの待機を削除すると、もはやクラッシュするが、結果のテキストファイルは生成されなくなりました。実行ファイルが正しく実行されていませんか?
Process exeProcess = new Process();
exeProcess.StartInfo.FileName = @"...\marcus12.exe";
exeProcess.StartInfo.UseShellExecute = false;
exeProcess.StartInfo.RedirectStandardError = true;
exeProcess.StartInfo.RedirectStandardInput = true;
exeProcess.StartInfo.RedirectStandardOutput = true;
exeProcess.Start();
//exeProcess.WaitForInputIdle();
exeProcess.StandardInput.WriteLine(Path.GetFileName(filePath));
//exeProcess.WaitForInputIdle();
exeProcess.StandardInput.WriteLine("Y");
exeProcess.WaitForExit();
あなたは全く待つ必要はありません。 – SLaks
応答のおかげで、もはやクラッシュすることはなくなりましたが、実行ファイルは正しい出力を生成しません(editを参照)。 – BeingIan
標準のエラーを読み、何が起こるか見る – SLaks