在C#中針對System.Diagnostics.Process工具編寫代碼時,我只捕獲StandardOutput並解析它。但是,有關此構建服務器的單元測試失敗。一位同事在他的機器上試過後,也失敗了。爲什麼我的機器將stderr寫入標準輸出?
然後我發現Jon Skeet's answer有一個關於爲什麼StandardOutput爲空的問題,他提到從System.Diagnostics.Process中捕獲StandardOutput和StandardError。果然,我們在我的同事的機器上試了一下,結果很奏效。
我的問題是,爲什麼東西被寫入到真實被寫入StandardError的(sterr)我同事的機器和我們構建服務器上我的機器上StandardOutput(標準輸出)?是否存在強制執行此行爲的環境設置?