Rob*_*ser 6 .net c# redirect stdout pipe
我正在尝试将第三方本机 dll 的输出重定向到 C# 中的 stdout/stderr。stdout 和 stderr 的输出都应该进入日志文件。
这是我的想法(两个流的 x2):
_outServer.SafePipeHandle.DangerousGetHandle()AnonymousPipeClientStream并输出到记录器。flush上AnonymousPipeServerStream所以所有这些似乎都运行良好......在我的代码中。一旦控制权传递给本机 DLL,一切都会回到 stderr!如果需要,我可以调试到本机 DLL 并查看出了什么问题,但是......我真的不想,所以在我花了 10 个小时试图弄清楚句柄如何工作之前,有人有任何想法吗?
作为参考,测试代码位于:http : //pastebin.com/f3eda7c8。有趣的是构造函数中的第 58-89 行。(当然,我稍后会添加错误处理等)。