2012-06-07 27 views

回答

12

MSDN: 「的ConditionalAttribute屬性應用於調試的方法支持ConditionalAttribute忽略,除非這些方法的調用編譯器。‘DEBUG’定義爲條件編譯符號參見編譯器的文檔,以確定是否ConditionalAttribute。支持和定義條件編譯符號的語法「。

因此,如果您的發佈配置不包含DEBUG符號,則在編譯過程中將省略Debug.WriteLine調用,並且不會有輸出。

+1

如果你要引用MSDN,最好引用一個URL。 – Dan

16

Debug.WriteLine註釋了Conditional屬性。 (請參閱MSDN

ConditionalAttribute告訴編譯器不要生成該代碼,除非提供了DEBUG標誌。

5

Debug.Writeline未編譯到發佈代碼中。

8

如果將它們切換爲Trace.WriteLine,則可以在app/web.config文件中定義任意偵聽器。

+3

+1,因爲這是通過配置輸出內容的最佳方式。雖然,它需要在編譯時定義「TRACE」標誌,並且*不管構建類型如何,所有消息都被編譯爲代碼。 'Debug.WriteLine'應該用於你在發佈版本中不需要**的消息。 –

相關問題