C# で System.Diagnostics.Process ツールに対するコードを記述しているときに、StandardOutput だけをキャッチして解析していました。ただし、これに関する単体テストはビルド サーバーで失敗しました。同僚が彼のマシンで試した後、それも失敗しました。
その後、なぜ StandardOutput が空だったのかという質問に対する Jon Skeet の回答を見つけ、System.Diagnostics.Process から StandardOutput と StandardError の両方をキャプチャすることについて言及しました。案の定、同僚のマシンでそれを試してみたところ、うまくいきました。
私の質問は、同僚のマシンとビルド サーバーの StandardError (sterr) に書き込まれているものが、自分のマシンの StandardOutput (stdout) に書き込まれているのはなぜですか? この動作を強制する環境設定はありますか?