Trace.WriteLine处于发布模式?

时间:2010-02-19 01:51:16

标签: .net

我可以在发布模式下使用Trace.WriteLine吗?

Trace.Write和Debug.Write之间的主要区别是什么?

3 个答案:

答案 0 :(得分:16)

使用[Conditional]属性进行条件编译。

如果在构建中定义了TRACE标志,则对Trace类的调用将导致写入跟踪输出。默认情况下,TRACE在调试和释放模式下都已定义。如果没有定义标志,则不会发生任何事情。

如果定义了DEBUG标志,则对Debug类的调用会导致输出被写入调试流。默认情况下,DEBUG仅在调试模式下定义。

另一个主要区别在于,通过跟踪,可以轻松自定义trace listeners并稍后决定要对跟踪输出执行的操作。它比调试输出更灵活,通常更适合登录生产应用程序。

答案 1 :(得分:6)

DEBUG: DEBUG settings

RELEASE: RELEASE settings

如您所见,默认情况下在两个配置中都启用了TRACE常量

答案 2 :(得分:2)

区别在于发布模式。

当未定义DEBUG符号时,Debug.Write将不会编译到代码中,即在发布模式下编译。

但是,Trace.Write将在Debug模式和Release模式下编译。