.net 4.0 为什么Trace.WriteLine(“Test”)在目标为.net 4.0时不出现,而在目标为3.5时出现

.net 4.0 为什么Trace.WriteLine(“Test”)在目标为.net 4.0时不出现,而在目标为3.5时出现,.net-4.0,.net 4.0,我刚刚注意到,当我从控制台应用程序调用以下代码时 for (int i = 0; i < 10; i++) { Trace.WriteLine("Logging"); Debug.WriteLine("Logging Debug"); } for(int i=0;i

我刚刚注意到,当我从控制台应用程序调用以下代码时

for (int i = 0; i < 10; i++)
{
  Trace.WriteLine("Logging");
  Debug.WriteLine("Logging Debug");
}
for(int i=0;i<10;i++)
{
Trace.WriteLine(“记录”);
Debug.WriteLine(“日志调试”);
}
如果我的目标是.net 4.0,则debugview应用程序中不会显示任何消息,尽管我正在捕获所有输出

如果我改为目标3.5,它看起来很好


发生了什么变化?我如何修复它?

您是在同一台机器上执行此操作的吗


可能是调试查看器(假定来自Sysinternals的DbgView)未连接。检查调试查看器的标题,查看您连接到的机器的名称。

这实际上是出于设计。 发件人:

CLR有一个新的调试 CLR为本机的体系结构 即使在 管理仅附加,因此 MS SYSVIEW将不会 工作


这为我解决了问题:

Trace.Autoflush = true;

当我在4和3.5之间切换时,我加载了debugview,并且它显示为3.5的可能副本