系统从.NET调用到mono

时间:2009-03-28 08:29:12

标签: c# mono system-calls

我正在尝试使用mono进行外部系统调用。我想知道是否可以模仿下面的示例(当然我正在寻找跨平台支持)。

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命名空间,此代码块就可以工作。

1 个答案:

答案 0 :(得分:2)

我不确定这是否是您想要的,但请查看我在Windows Service Application Controller中发布的代码示例,这适用于Mono。