2017-02-14 143 views
0

我有一個控制檯程序作爲父進程,它運行幾個子進程,它們也是控制檯程序。對於子進程,輸出被重定向到一對StringBuilder對象(一個用於STDOUT,一個用於STDERR)。完成子進程後,其輸出會附加到父級的輸出(也是在一對StringBuilder中產生的)。重定向控制檯輸出從子控制檯進程到父控制檯進程失敗

我最近添加了一個新的子進程,但它不起作用。它也不會失敗。我似乎無法調試它,因爲子進程中沒有輸出語句。我花了一天的時間試圖弄清楚這一點。由於執行平臺位於JAMS Scheduler控制下的另一臺服務器上,因此事情會變得複雜一些。

+0

爲什麼張貼問題並立即回答問題? –

+0

分享難得的知識。 –

+0

雖然不是理想的StackOverflow。 –

回答

0

新的子進程使用了​​我的開發系統上加載的最新的dotnet框架 - 4.6.1。主流程和較舊的子流程使用4.5.1。我使用服務器上確實安裝了4.6.1的註冊表項「HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v4 \ Full」中的dword「Release」進行了驗證。

我改變了新項目的版本,以匹配父項目(和其他子項目),重建和重新部署它,一切開始工作。

希望這可以挽救一個人一天的生命。