以编程方式运行.net控制台应用程序

时间:2012-04-03 08:37:37

标签: .net process execution

我有一个用.net编写的.exe程序(控制台应用程序)。

  1. 我需要执行它
  2. 提供输入
  3. 将输出作为字符串或最好以流形式获取。
  4. 目前我正在使用System.Diagnostics命名空间和Process类。 但为此目的使用Diagnostic命名空间似乎没问题。

    有没有什么方法可以更有效地做同样的事情? 就像使用反射来查找Main()方法然后调用它一样。

2 个答案:

答案 0 :(得分:3)

Process类正是做你想做的事情的正确工具。不要介意Diagnostic命名空间的名称 - 只需使用Process类。

答案 1 :(得分:0)

完全没问题。 System.Diagnostics只是一个命名空间。

如果需要更多信息,您可以navigate to this project获取动机,并查看如何以语法方式处理流程或从VM found in here

处理此代码段
                var startInfo = new ProcessStartInfo(FilePath)
                {
                    WorkingDirectory = RootFolderPath,
                    Arguments = StartingArguments,
                    RedirectStandardOutput = true,
                    UseShellExecute = false,
                    CreateNoWindow = true
                };
                ConsoleProcess = new Process {StartInfo = startInfo};

                ConsoleProcess.Start();