我在我的代码中放了很多Debug.WriteLine用于调试目的。 当我准备构建发布时,这些Debug.Write是否会影响发布版本,它们输出到哪里?
答案 0 :(得分:19)
Debug.WriteLine
使用Conditional
属性进行注释。 (见MSDN)
除非提供DEBUG
标志,否则ConditionalAttribute告诉编译器不要生成该代码。
答案 1 :(得分:14)
来自MSDN: “ConditionalAttribute属性应用于Debug的方法。支持ConditionalAttribute的编译器忽略对这些方法的调用,除非将”DEBUG“定义为条件编译符号。请参阅编译器的文档以确定是否支持ConditionalAttribute以及定义a的语法条件编译符号。“
因此,如果您的发布配置不包含DEBUG符号,则编译期间将忽略Debug.WriteLine调用,并且不会输出。
答案 2 :(得分:8)
如果将它们切换到Trace.WriteLine
,您可以在app / web.config文件中定义任意侦听器。
答案 3 :(得分:5)
Debug.Writeline未编译为发布代码。
答案 4 :(得分:1)
我相信它会被编译出来。