У меня есть рабочий код на C # (конечно, на другой машине), которого после миграции больше нет. Код запускает команду к серверу Perforce в командной строке и читает выходные данные в поисках определенной строки. код:
string result="";
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("cmd.exe");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardError = true;
//Start the process
System.Diagnostics.Process proc = System.Diagnostics.Process.Start(psi);
//Attach output for reading
System.IO.StreamReader sOut = proc.StandardOutput;
System.IO.StreamWriter sIn = proc.StandardInput;
sIn.WriteLine(@"p4 changelists -m 1 -s submitted //<SOME_PATH_HERE>");
proc.WaitForExit(500);
sIn.WriteLine("EXIT");
while((result=sOut.ReadLine()) != null)
{
if(result != "")
{
if(result.Substring(0, 6) == "Change")
{
//get Changelist number
result = result.Substring(7, 6);
break;
}
}
}
if((result == "") || (result == null)) //if perforce goes down
{
проблема в том, что когда я выполняю некоторые хорошо известные команды cmd.exe, такие как DIR и ... Я могу видеть вывод строки за строкой в моей переменной результата, но для этой специальной командыиз p4 строка результата пуста.
Я погуглил мою проблему, и ближайшая вещь, которая могла быть связана, была связана с CASPOL!?
Я не имею ни малейшего представления о том, что это такое, и как я могу от него избавиться.
любая помощь будет оценена.