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

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

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

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

Debug.WriteLine使用Conditional属性进行批注。 (见MSDN )

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

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

Debug.Writeline未编译为发布代码。

我相信它会被编译出来。