Не работает процесс - C#
Формулировка задачи:
создаю процесс вот таким кодом
мне через мою прогу нужно скомпилировать выбраный файл.но ничего не происходит, а когда я вручную запускаю командную строку, а в ней компилятор с аргументом, то всё нормально. в чём проблема?
но появилась проблема - не могу запуститть этот скомпилиный файл
string par = "C:\\Windows\\Microsoft.NET\\Framework\\v3.5\\csc.exe " + prpath;
richTextBox2.Text = par;
ProcessStartInfo psiOpt = new ProcessStartInfo(@"cmd.exe", par);
// скрываем окно запущенного процесса
psiOpt.WindowStyle = ProcessWindowStyle.Hidden;
psiOpt.RedirectStandardOutput = true;
psiOpt.UseShellExecute = false;
psiOpt.CreateNoWindow = true;
// запускаем процесс
Process procCommand = Process.Start(psiOpt);
// получаем ответ запущенного процесса
StreamReader srIncoming = procCommand.StandardOutput;
// выводим результат
textBox1.Text=srIncoming.ReadToEnd()+Environment.NewLine;
textBox1.AppendText(prpath);
// закрываем процесс
procCommand.WaitForExit();
с этим случайно разобрался, просто сделал так
ProcessStartInfo psiOpt = new ProcessStartInfo("cmd.exe", par);string par2 = Path.GetFileNameWithoutExtension(openFileDialog2.SafeFileName) +".exe";
richTextBox2.Text = par2;
ProcessStartInfo psiOpt2 = new ProcessStartInfo("cmd.exe",par2);
// скрываем окно запущенного процесса
psiOpt2.WindowStyle = ProcessWindowStyle.Normal;
psiOpt2.RedirectStandardOutput = false;
psiOpt2.UseShellExecute = false;
psiOpt.CreateNoWindow = false;
// запускаем процесс
Process procCommand2 = Process.Start(psiOpt2);
// получаем ответ запущенного процесса
// StreamReader srIncoming2 = procCommand2.StandardOutput;
// закрываем процесс
procCommand2.WaitForExit();Решение задачи: «Не работает процесс»
textual
Листинг программы
openFileDialog2.ShowDialog(); string par2 = openFileDialog2.FileName; string path = Path.GetDirectoryName(par2); string fileName = Path.GetFileName(par2); richTextBox2.Text = par2; Process procCommand2 = new Process(); procCommand2.StartInfo.FileName = fileName; procCommand2.StartInfo.WorkingDirectory = path; procCommand2.Start(); procCommand2.WaitForExit();