【问题标题】:running .net console applications programmatically以编程方式运行 .net 控制台应用程序
【发布时间】:2012-04-03 08:37:36
【问题描述】:

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

  1. 我需要执行它
  2. 提供输入
  3. 以字符串形式或最好以流形式获取输出。

目前我正在使用System.Diagnostics 命名空间和Process 类。 但是为此目的使用 Diagnostic 命名空间似乎没问题。

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

【问题讨论】:

    标签: .net process execution


    【解决方案1】:

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

    【讨论】:

    • 谢谢。我还需要在单独的应用程序域中运行此过程。可以使用这个命名空间来完成吗?
    • 第一:忘记命名空间!然后,请阅读本文以了解命名空间是什么以及为什么它对您完全不重要:msdn.microsoft.com/en-us/library/…
    • stackoverflow.com/questions/9991735/….. 你可以帮我解决我刚刚发布的第二个问题.. 阅读链接。谢谢
    【解决方案2】:

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

    如果需要更多信息,您可以navigate to this project 获取动力并查看如何以语法方式处理流程或来自VM found in here 的此 sn-p

                    var startInfo = new ProcessStartInfo(FilePath)
                    {
                        WorkingDirectory = RootFolderPath,
                        Arguments = StartingArguments,
                        RedirectStandardOutput = true,
                        UseShellExecute = false,
                        CreateNoWindow = true
                    };
                    ConsoleProcess = new Process {StartInfo = startInfo};
    
                    ConsoleProcess.Start();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      • 2011-01-22
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多