在构建版本时,C#中的Debug.WriteLine输出到哪里?

时间:2012-06-07 17:03:54

标签: c# debugging

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

5 个答案:

答案 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)

我相信它会被编译出来。