24

我在代码中放置了很多 Debug.WriteLine 用于调试目的。当我准备发布发布时,这些 Debug.Write 是否会影响发布版本,它们会输出到哪里?

4

5 回答 5

19

Debug.WriteLineConditional属性注释。(见MSDN

ConditionalAttribute告诉编译器不要生成该代码,除非提供了标志DEBUG

于 2012-06-07T17:06:34.250 回答
15

来自MSDN:“ConditionalAttribute 属性应用于 Debug 的方法。支持 ConditionalAttribute 的编译器会忽略对这些方法的调用,除非将“DEBUG”定义为条件编译符号。请参阅编译器的文档以确定是否支持 ConditionalAttribute 以及语法用于定义条件编译符号。”

因此,如果您的发布配置不包含 DEBUG 符号,则在编译期间将省略 Debug.WriteLine 调用,并且不会有输出。

于 2012-06-07T17:10:39.057 回答
8

如果将它们切换到Trace.WriteLine,则可以在 app/web.config 文件中定义任意侦听器。

于 2012-06-07T17:08:15.960 回答
6

Debug.Writeline 不会编译到发布代码中。

于 2012-06-07T17:06:49.413 回答
1

我相信它会被编译出来。

于 2012-06-07T17:06:27.360 回答