.NET Framework输出到控制台?

时间:2012-06-06 13:59:50

标签: c# .net winforms

我有一个输出到TextBox的TextWriter。 我已将TextWriter连接到Console.Out:

// set application console output to the output text box
Console.SetOut(TextWriter.Synchronized(new TextBoxWriter(this)));

class TextBoxWriter : TextWriter
{
  public override void WriteLine(string value)
  {
    // output to text box
  }
}

这很好但是我发现.NET框架本身正在将跟踪/调试输出写入控制台,因此也就是我的窗口!

例如,用户可以单击在表单上创建控件的按钮。这将输出如下内容:

170,130 0,0

调用堆栈显示正在从外部代码调用textwriter WriteLine函数以响应MyForm.Controls.Add(...);

如果用户调整控件的大小,那么.NET框架将以下废话写入控制台:

0.574257425742574 @ 1

调用堆栈显示正在从外部代码调用textwriter WriteLine函数以响应MyControl.Width = NewValue;

当我的应用程序构建用于调试和发布时,会发生这种情况。

我没有打开跟踪或调试功能。

即使没有定义DEBUG和TRACE,也会发生这种情况。

我的应用程序未提及或执行与调试或跟踪相关的任何操作。

我没有对控制台做任何其他事情。

我的应用程序不会在System.Diagnostics中调用任何内容。

使用C#,. NET 4.0,Windows 7 64位,Visual Studio 2010。

这让我发疯了。有关下一步尝试的建议吗?

0 个答案:

没有答案