c# - 如何让 Debug.WriteLine 在 Release 模式下写入输出窗口?

标签 c# .net debugging enterprise-library

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

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

最佳答案

您可以使用 Trace.WriteLine反而。只需确保在发布设置中定义了 TRACE(默认情况下)。

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

#define DEBUG

但这会很奇怪。

关于c# - 如何让 Debug.WriteLine 在 Release 模式下写入输出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29905039/

相关文章:

c# - 找不到 HttpServerChannel

c# - 无法用鼠标选择 TextBox 控件的文本

c# - 如何从字节数组中删除字节

mysql - 如何在 SQL 脚本中使用过程?

python - 如何在开发过程中调试 sublime 插件

c# - 具有托管可扩展性框架的沙盒插件

c# - 何时不在 C#(或 Java、C++ 等)中使用 Regex

.net - 在 TFS 2010 或 msbuild 中触发配置转换

.net - Windows 脚本宿主的 DotNet 版本

debugging - MSIL 调试器 - Mdbg、Dbgclr、Cordbg