如何让Debug.WriteLine在发布模式下写入输出窗口?

时间:2015-04-27 20:10:36

标签: c# .net debugging enterprise-library

好的,我意识到这个问题听起来很荒谬。为什么要在发布模式下调试?我试图实现一个ILogger接口,该接口在实现时提供了一个用于记录的外观(显然)。在大多数情况下,该外观会写入企业库 - 因此它已经有一个Debug方法,它具有自己的配置。问题是我只是将Debug.WriteLine(" msg")行添加到外观,除了它写出文件的正常行为,当我在发布模式下构建它们时,那​​些调试语句不能用它编译,因此当使用来自不同项目的库时,它不会写入控制台,即使该项目是在调试中构建的。

我想要的是设置这个外观,这样无论它是如何构建的,所有Logger.Debug消息都将输出到窗口,而不仅仅是MEL生成的文件。我可以将System.Diagnostics对象设置为始终编译,还是有办法设置企业库以将输出用作已配置的侦听器?

1 个答案:

答案 0 :(得分:8)

您可以改用Trace.WriteLine。只需确保在版本设置中定义TRACE(默认情况下)。

从技术上讲,您可以通过项目设置或明确地在发布模式中定义DEBUG

#define DEBUG

但这很奇怪。