TextWriterTraceListener(调试输出)VS 'Output',而不是控制台

本文关键字:控制台 Output VS 调试 TextWriterTraceListener 输出 | 更新日期: 2023-09-27 18:07:31

我写了一个DLL文件,做一些数据库工作,并与winforms应用程序测试/使用,并通过Console.WriteLine("xxx");发送重要的调试消息。现在我在另一个项目中使用DLL,这是一个控制台应用程序 -我相信你可以想象我看到控制台中所有额外的输出时的惊讶!长话短说,我需要能够在Visual Studio的"输出"部分看到调试输出,但不是在我的控制台中。我已经研究过这个问题,并且已经改变了代码,使用Debug.Write("xxx");并使用下面的代码进行测试,但是我需要知道用什么代替System.Console.Out来实现所需的报告。

TextWriterTraceListener myWriter = new TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(myWriter);
Debug.Write("Important Message");

谢谢——Andrew

TL,博士;需要输出到VS ' output '窗口,而不是控制台或文件。

TextWriterTraceListener(调试输出)VS 'Output',而不是控制台

默认情况下,调试时有一个VS输出窗口的跟踪侦听器。您可以通过在代码中的任何地方中断并检查:Debug.Listeners的内容来检查这一点。至少有1个条目,即[0]= {System.Diagnostics。DefaultTraceListener}用于写入VS输出窗口。

因此,您唯一需要做的就是删除您自己的侦听器的注册,以防止输出到控制台窗口