从子控制台进程重定向的控制台输出到父控制台进程失败

时间:2017-02-14 18:16:59

标签: c# .net console-application io-redirection

我有一个控制台程序作为父进程,它运行多个子进程,这些进程也是控制台程序。对于子进程,输出被重定向到一对StringBuilder对象(一个用于STDOUT,一个用于STDERR)。完成子进程后,其输出将附加到父进程的输出中(也在一对StringBuilder中累积。)

我最近添加了一个新的子进程,但它不起作用。它也没有失败。我似乎无法调试它,因为子进程中的输出语句没有工作。我花了一天时间试图解决这个问题。由于执行平台位于JAMS Scheduler控制下的另一台服务器上,因此情况有点复杂。

1 个答案:

答案 0 :(得分:0)

新的子进程使用了​​我的开发系统上加载的最新dotnet框架 - 4.6.1。主进程和较旧的子进程使用4.5.1。我在注册表项“HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v4 \ Full”中使用dword“Release”进行了验证,确实已在服务器上安装了4.6.1。

我更改了新项目的版本以匹配父项目(和其他子项目),重建并重新部署它,一切都开始工作。

希望这可以在一天中拯救一个人。