在 C# 中针对 System.Diagnostics.Process 工具编写代码时,我只捕获 StandardOutput 并对其进行解析。但是,围绕此问题的单元测试在构建服务器上失败了。在一位同事尝试了他的机器后,它也失败了。
然后我找到了Jon Skeet对一个问题的回答,即为什么 StandardOutput 为空,他提到从 System.Diagnostics.Process 捕获 StandardOutput 和 StandardError。果然,我们在我同事的机器上试过了,它奏效了。
我的问题是,为什么我的机器上的 StandardOutput (stdout) 被写入我同事的机器和我们的构建服务器上的 StandardError (sterr)?是否存在强制这种行为的环境设置?