我们有一个C#控制台应用程序,它使用System.Management.Automation程序集中的类来触发PowerShell。 PowerShell脚本引用第三方库(使用执行的脚本中的Import-Module导入库),该脚在PowerShell脚本中执行。这个第三方库始终使用Trace.WriteLine,我们希望阻止它输出到控制台。
在app.config中似乎没有设置全局标志来禁用所有跟踪。
system.diagnostics元素设置为没有侦听器的源,没有侦听器的跟踪,没有开关但输出仍然写入控制台。如何禁用所有跟踪?
答案 0 :(得分:2)
感谢@CodeCaster指针,实际上是第三方库添加了监听器,因此app.config设置无效。
第三方库加载后运行System.Diagnostics.Trace.Listeners.Clear()
解决了问题,现在很好的清理输出。