C# 为什么调试仍在写入输出?

C# 为什么调试仍在写入输出?,c#,debugging,C#,Debugging,我的调试设置如下: TextWriterTraceListener[] listeners = new TextWriterTraceListener[] { new TextWriterTraceListener("C:\\debugROAR.txt") //new TextWriterTraceListener(Console.Out) }; Debug.Listeners.AddRange(listeners); Debug.WriteLine("Some V

我的调试设置如下:

TextWriterTraceListener[] listeners = new TextWriterTraceListener[] 
{
      new TextWriterTraceListener("C:\\debugROAR.txt")
      //new TextWriterTraceListener(Console.Out)
};

Debug.Listeners.AddRange(listeners);

Debug.WriteLine("Some Value", "Some Category");
Debug.WriteLine("Some Other Value");
Debug.AutoFlush = true;

然而,Console.Out现在已经被注释掉了——但它仍然写入控制台吗?我怎样才能阻止它?我只想写入文件。

默认跟踪侦听器仍处于附加状态。使用
.Clear()
或类似工具将其卸下:

TextWriterTraceListener[] listeners = new TextWriterTraceListener[] 
{
      new TextWriterTraceListener("C:\\debugROAR.txt")
      //new TextWriterTraceListener(Console.Out)
};
Debug.Listeners.Clear(); // Remove the default listener
Debug.Listeners.AddRange(listeners);

Debug.WriteLine("Some Value", "Some Category");
Debug.WriteLine("Some Other Value");
Debug.AutoFlush = true;

清理并重新生成projectDebug.Listeners.Remove(Debug.Listeners[“Default”]);