禁用C#控制台应用程序中的跟踪,包括第三方引用

时间:2016-05-06 11:29:59

标签: c# powershell tracing

我们有一个C#控制台应用程序,它使用System.Management.Automation程序集中的类来触发PowerShell。 PowerShell脚本引用第三方库(使用执行的脚本中的Import-Module导入库),该脚在PowerShell脚本中执行。这个第三方库始终使用Trace.WriteLine,我们希望阻止它输出到控制台。

在app.config中似乎没有设置全局标志来禁用所有跟踪。

system.diagnostics元素设置为没有侦听器的源,没有侦听器的跟踪,没有开关但输出仍然写入控制台。如何禁用所有跟踪?

1 个答案:

答案 0 :(得分:2)

感谢@CodeCaster指针,实际上是第三方库添加了监听器,因此app.config设置无效。

第三方库加载后运行System.Diagnostics.Trace.Listeners.Clear()解决了问题,现在很好的清理输出。