Код: Выделить всё
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = configFile.AppSettings.Settings["PSDir"].Value.ToString() + @"\powershell.exe";
startInfo.Arguments = @"& '" + scriptPath + "'\"";
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
return process;
Код: Выделить всё
Process proc = RunPSScript(startupPath + "\\stats.ps1");
proc.WaitForExit();
Код: Выделить всё
proc.WaitForExit();
Когда я удаляю WaitForExit(), вызов процесса возникает сразу же, и программа продолжает работать, но это бесполезно, потому что мне нужно, чтобы сценарий генерировал данные, прежде чем остальная часть программы сможет продолжить работу.
Любопытно, что если я завершаю сеанс отладки после запуска вызова PS, сценарий продолжает работать и все, что было блокировки его завершения больше нет, и он продолжает работать до завершения.
Любые идеи приветствуются.
Спасибо!