Отключите отладочную информацию

Я разобрался в проблеме. Преобразование происходит как часть шага решения для сборки - в файле решения. Проблема заключается в том, что кто-то изменил конфигурацию в файле решения, чтобы каждая конфигурация по умолчанию имела значение «Отладка», кроме QA, который был установлен правильно. Как только я отменил это изменение, все заработало как положено.

5
задан Robert 21 October 2008 в 19:08
поделиться

6 ответов

Все вызовы к System.Diagnostics.Debug.Print() будет удален, когда Вы переключитесь на версию выпуска.

16
ответ дан 18 December 2019 в 06:36
поделиться

Используйте Log4net с входом на уровне отладки в выпуске и предупредите или ошибочный уровень в производстве.

Преимущество для этого - то, что можно стать входящими на в среде выпуска, если у Вас есть проблемы там, что Вы не можете воссоздать в разработке.

[РЕДАКТИРОВАНИЕ] FWIW, я нахожу, что действительно намного меньше отлаживаю вход теперь, когда я использую Разработку через тестирование. Большая часть моего входа имеет предупредить/ошибка разнообразие.

4
ответ дан 18 December 2019 в 06:36
поделиться

Посмотрите на Систему. Диагностика. Отладка и Система. Диагностика. Классы трассировки.

3
ответ дан 18 December 2019 в 06:36
поделиться

Я использую: Система. Консоль. WriteLine ()

#if DEBUG
  System.Console.WriteLine("Message");
#endif 
0
ответ дан 18 December 2019 в 06:36
поделиться

Отладка и трассировка связаны, но отличные операции. System.Diagnostics пространство имен поддерживает их обоих.

Использовать Debug.Write/WriteLine записать сообщения отладки в файл журнала. (И к Окну вывода.) Использование Debug.Assert, Ну, в общем, в значительной степени везде. Весь код, что Вы пишете использование Debug класс удален, прежде complilation, если Вы не определяете Отладочный символ в своем коде - это сделано по умолчанию в опциях для конфигураций Отладки и Выпуска.

Использовать Trace.Write/WriteLine записать сообщения трассировки. Эти методы функционально эквивалентны методам класса Отладки; различие - то, что они удалены, если Вы не определяете символ ТРАССИРОВКИ в своем коде.

Классы Отладки и Трассировки также имеют целую немного громоздкую инфраструктуру других классов, как TextWriterTraceListener, это позволяет Вам делать, элегантным вещам нравится, изменяют вывод Вашего журнала трассировки из локального файла на диске к веб-сервису (или ни к чему) только путем редактирования файла конфигурации приложения. Мой любимый прием должен реализовать a TextWriter это может записать текст в a TextBox, и используйте это для перенаправления всей отладки и вывода трассировки к UI.

Можно также установить флаги в файле конфигурации приложения что WriteIf и WriteLineIf уважение методов, но по моему опыту они становятся довольно громоздкими.

Я нахожу, что в целом, я более счастлив, если я создаю свой собственный статический класс для обертывания Trace методы. Это позволяет мне сделать, вещам нравится, включают и выключают трассировку в UI только путем установки свойства моего Trace класс.

Наконец: если необходимо оснастить приложение, чтобы сделать что-то как трассировка, когда каждый метод начинается и заканчивается, инструментом для использования для этого является удивительный PostSharp.

1
ответ дан 18 December 2019 в 06:36
поделиться

Можно также изучить решения для Аспектно-ориентированного программирования. Они делают этот вид вещи действительно хорошо. Взгляд на PostSharp как хорошая реализация. Их пример кода обычно содержит пример точно, что Вы ищете.

0
ответ дан 18 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: