Мне нужно задать вопрос, который я действительно не мог найти в Интернете .. Я использую Process для открытия cmd в моем приложении C#. Мне нужно передать некоторые команды, но после каждой команды, мне нужно, чтобы убедиться, что эта команда закончена, так что я мог бы продолжить другой! .. как это возможно с System.Diagnostics ... вот мой код, который я пытался ..Продолжить после определенной команды в конце концов
var startInfo = new ProcessStartInfo
{
FileName = "cmd.exe",
RedirectStandardInput = true,
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = false,
WorkingDirectory = @"E:/Visual Studio 2013/" + project_Name + "/packages/NUnit.ConsoleRunner.3.4.1/tools"
};
var process = new Process { StartInfo = startInfo };
process.Start();
process.StandardInput.WriteLine("nunit3-console.exe E:/Debug/Report_Testing.dll");
process.WaitForExit();
ждать выхода здесь бесконечно зависает, и я не могу пройти эту строку кода. какое решение для этого!?
Я не могу понять вас Uno, извините, я хочу знать, когда команда заканчивается ... что делает опция/k? также вы хотите, чтобы я добавил его в строку строки? –
@ OmarEl-elamy ваш процесс начинается 'cmq', а не бегун nunit, поэтому он привязан к этому для завершения. Если вы хотите закрыть его в своем коде, вы должны отправить 'exit' в командную строку, но я не думаю, что это было бы очень элегантно. –
Тест-бегун работает как ** ребенок ** из cmd, поэтому, даже если бегун выходит, родитель не делает этого. –