Подтвердить что ты не робот

Где будет Debug.WriteLine в С# для вывода в релиз сборки?

Я поместил много Debug.WriteLine в свой код для отладки. Когда я буду готов к выпуску, будут ли эти Debug.Write влиять на сборку релизов и где они выводятся на?

4b9b3361

Ответ 1

От MSDN: "Атрибут ConditionalAttribute применяется к методам Debug. Компиляторы, которые поддерживают ConditionalAttribute, игнорируют вызовы этих методов, если только" DEBUG "не является условным символом компиляции. Обратитесь к документации компилятора, чтобы определить, поддерживается ли ConditionalAttribute, и синтаксис для определения условный символ компиляции."

Итак, если ваша версия релиза не включает символ DEBUG, вызовы Debug.WriteLine будут отсутствовать во время компиляции и не будет выхода.

Ответ 2

Debug.WriteLine аннотируется атрибутом Conditional. (см. MSDN)

ConditionalAttribute сообщает компилятору не генерировать этот код, если не указан флаг DEBUG.

Ответ 3

Если вы переключите их на Trace.WriteLine, вы можете определить произвольные слушатели в файле app/web.config.

Ответ 4

Debug.Writeline не компилируется в код выпуска.

Ответ 5

Я считаю, что он будет скомпилирован.