【发布时间】:2013-10-14 04:16:28
【问题描述】:
我正在使用第 3 方库,它多次调用该函数:
Trace.WriteLine(string message);
这会使 Visual Studio 输出窗口变得杂乱无章,并使调试我的应用程序变得困难(例如;XAML 绑定警告)。
我正在尝试找到一种方法来阻止来自特定 dll 的所有跟踪消息转储到 Visual Studio 输出窗口 - 编写我自己的 TraceListener 是唯一的前进路径吗?
我无法使 TraceFilter / EventTypeFilter 为没有类别的字符串消息工作——尽管我找不到支持这一点的文档——凭经验:
TraceFilter.ShouldTrace(...)
由以下函数调用(不是完整的集合):
Trace.WriteLine(string message, string category);
Trace.TraceError(string message);
Trace.WriteLine(object o);
但未被调用:
Trace.WriteLine(string message);
有谁知道为什么这个调用避免了 ShouldTrace 过滤器?
【问题讨论】:
-
只是想知道,你为什么不想自己制作
TraceListener? -
@jrh 如果我没记错的话,我试图摆脱 Visual Studio 输出窗口中的所有这些额外消息,以便调试其他问题,例如绑定问题。此外,在我使用的库的未来版本中,作者删除了他们的 Trace.WriteLine 调用
-
在这种情况下,我想我知道一个简单的解决方案,我会在一周左右回来后发布答案。不过,您在自己的代码中使用了 Trace.WriteLine,对吧?意思是,你不只是想禁止所有 Trace.WriteLine 消息,只是来自一个 dll 的消息。
-
我使用了一个第三方库,它的源代码中有 Trace.WriteLine 调用(并且不想分支/重新编译它)。我想抑制来自一个特定编译 dll 的 Trace.WriteLine 消息。
标签: c# visual-studio