Как в C# выполнить разные действия для режимов Debug и Release

Дебаг

Иногда требуется выполнить какой то код в зависимости от того компилируем приложение в режиме Debug или Release. Например, мы хотим выполнить какие то дополнительные инструкции помогающие при дебаге, но нужно что бы они отсутствовали в коде релиз версии. В таком случае на помощь приходят директивы препроцессора.

Определение режима компиляции выполняется следующим образом:

#if DEBUG
    Console.WriteLine("Debug mode!");
#else
    Console.WriteLine("Release mode!");
#endif

В коде проверяется определена ли константа DEBUG, и в зависимости от этого компилируется тот или иной участок кода. Учтите, что код который не подпадает под логическое условие вообще не будет включен в результирующий скомпилированный код.

Также обратите внимание на следующий ньюанс. То, будет ли определана константа DEBUG зависит не только от выбранного режима конфигурации, а и от того, отмечен ли в настройках проекта чекбокс указывающий о необходимости определения этой константы. По умолчанию он установлен для режима Debug, и снят для режима Release. Однако во избежание недоразуманий не забывайте что эта настройка может быть изменена:

DEBUG RELEASE  Как в C# выполнить разные действия для режимов Debug и Release

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>