好的,我意识到这个问题听起来很荒谬。为什么要在发布模式下调试?我试图实现一个ILogger接口,该接口在实现时提供了一个用于记录的外观(显然)。在大多数情况下,该外观会写入企业库 - 因此它已经有一个Debug方法,它具有自己的配置。问题是我只是将Debug.WriteLine(" msg")行添加到外观,除了它写出文件的正常行为,当我在发布模式下构建它们时,那些调试语句不能用它编译,因此当使用来自不同项目的库时,它不会写入控制台,即使该项目是在调试中构建的。
我想要的是设置这个外观,这样无论它是如何构建的,所有Logger.Debug消息都将输出到窗口,而不仅仅是MEL生成的文件。我可以将System.Diagnostics对象设置为始终编译,还是有办法设置企业库以将输出用作已配置的侦听器?
答案 0 :(得分:8)
您可以改用Trace.WriteLine
。只需确保在版本设置中定义TRACE
(默认情况下)。
从技术上讲,您可以通过项目设置或明确地在发布模式中定义DEBUG
:
#define DEBUG
但这很奇怪。