Я пытаюсь сделать внешний системный вызов, используя моно. Я хотел бы знать, возможно ли подражать чему-то подобному примеру ниже (конечно, я ищу кроссплатформенную поддержку).
public static int ExecuteExternalApp()
{
int ExitCode = -1;
Process Process = new Process(); ;
//Defining the filename of the app
Process.StartInfo.FileName = "java";
//Assigning the args to the filename
Process.StartInfo.Arguments = @"-jar """ + ConfigurationManager.AppSettings["JarPath"].ToString();
try
{
//Starting the process
Process.Start();
//Waiting for the process to exit
Process.WaitForExit();
//Grabbing the exit code
ExitCode = Process.ExitCode;
//Close the process
Process.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return ExitCode;
}
** ОБНОВЛЕНИЕ: этот код работает в моно. Первая реализация не сработала из-за несуществующей ссылки на пространство имен System (не знаю, как это произошло), этот блок кода работает, пока используется пространство имен System.Diagnostics.