我有一个控制台程序作为父进程,它运行多个子进程,这些进程也是控制台程序。对于子进程,输出被重定向到一对StringBuilder对象(一个用于STDOUT,一个用于STDERR)。完成子进程后,其输出将附加到父进程的输出中(也在一对StringBuilder中累积。)
我最近添加了一个新的子进程,但它不起作用。它也没有失败。我似乎无法调试它,因为子进程中的输出语句没有工作。我花了一天时间试图解决这个问题。由于执行平台位于JAMS Scheduler控制下的另一台服务器上,因此情况有点复杂。
答案 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。
我更改了新项目的版本以匹配父项目(和其他子项目),重建并重新部署它,一切都开始工作。
希望这可以在一天中拯救一个人。