Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Условная компиляция / 13 сообщений из 13, страница 1 из 1
11.06.2013, 13:03
    #38293891
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
Всем доброго дня, подскажите пожалуйста, как в проекте Visual Studuo 2010 (C#) реализовать условную компиляцию таким образом, что когда конфигурация проекта установлена в "Debug" выполнялся один код, а когда конфигурация установлена в "Release", то другой? Точнее говоря, мне необходимо чтобы в режиме отладки использовалась другая часть кода, а когда компилирую для последующей публикации, то компилятор использовал другой блок кода.
...
Рейтинг: 0 / 0
11.06.2013, 13:05
    #38293896
ALOTE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
rsolanov,
Выносить часть кода которая заменяется во внешние dll?
...
Рейтинг: 0 / 0
11.06.2013, 13:08
    #38293901
Belavik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
#if DEBUG .. #endif
...
Рейтинг: 0 / 0
11.06.2013, 13:08
    #38293902
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
rsolanov, для Debug конфигурации по умолчанию определяется константа DEBUG с помошью которой можно отличать debug от release:
Код: c#
1.
2.
3.
4.
5.
#if DEBUG
    // Код для Debug конфигурации
#else
    // Код для других конфигураций
#endif


Для решения какой задачи тебе потребовалась условная компиляция?
...
Рейтинг: 0 / 0
11.06.2013, 13:10
    #38293906
aleks-sam
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
ALOTErsolanov,
Выносить часть кода которая заменяется во внешние dll?
:)
...
Рейтинг: 0 / 0
11.06.2013, 13:35
    #38293953
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
bazilersolanov, для Debug конфигурации по умолчанию определяется константа DEBUG с помошью которой можно отличать debug от release:
Код: c#
1.
2.
3.
4.
5.
#if DEBUG
    // Код для Debug конфигурации
#else
    // Код для других конфигураций
#endif


Для решения какой задачи тебе потребовалась условная компиляция?В приложении настроено ведение журнала с помощью библиотеки Nlog, поэтому когда я проектирую код, добавление тысяч записей в БД необходимо исключить.
...
Рейтинг: 0 / 0
11.06.2013, 14:07
    #38294012
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
Код: c#
1.
2.
3.
4.
5.
#if DEBUG
#else
    LoggingRule dbRule = new LoggingRule("*", LogLevel.Debug, dbTarget);
    config.LoggingRules.Add(dbRule);
#endif

Теперь все работает, спасибо )
...
Рейтинг: 0 / 0
11.06.2013, 14:11
    #38294023
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
Что интересно: когда в студии выставляешь дебаг, то две строчки кода моментально становятся серыми, если переключить в релиз сразу становятся цветными )
...
Рейтинг: 0 / 0
11.06.2013, 14:14
    #38294032
Belavik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
rsolanovbazilersolanov, для Debug конфигурации по умолчанию определяется константа DEBUG с помошью которой можно отличать debug от release:
Код: c#
1.
2.
3.
4.
5.
#if DEBUG
    // Код для Debug конфигурации
#else
    // Код для других конфигураций
#endif



Для решения какой задачи тебе потребовалась условная компиляция?В приложении настроено ведение журнала с помощью библиотеки Nlog, поэтому когда я проектирую код, добавление тысяч записей в БД необходимо исключить.
А там нет как в Log4Net log.Debug("")?
...
Рейтинг: 0 / 0
11.06.2013, 14:29
    #38294072
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
Belavikrsolanovпропущено...
В приложении настроено ведение журнала с помощью библиотеки Nlog, поэтому когда я проектирую код, добавление тысяч записей в БД необходимо исключить.
А там нет как в Log4Net log.Debug("")?Да, есть
Код: c#
1.
2.
Log.Debug(...);
Log.DebugException(...);

Только как это поможет?
...
Рейтинг: 0 / 0
11.06.2013, 14:41
    #38294111
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
Belavik, точнее я не знаю как работает
Код: c#
1.
2.
Log.Debug(...);
Log.DebugException(...);

Если знаете что и как, прошу Вас, подскажите плиз )
...
Рейтинг: 0 / 0
11.06.2013, 15:17
    #38294220
Belavik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
rsolanovBelavik, точнее я не знаю как работает
Код: c#
1.
2.
Log.Debug(...);
Log.DebugException(...);


Если знаете что и как, прошу Вас, подскажите плиз )
Я не совсем понял Вашу задачу, но данный функционал для записи логов в режиме дебага
...
Рейтинг: 0 / 0
11.06.2013, 15:33
    #38294262
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Условная компиляция
rsolanov
Код: c#
1.
2.
3.
4.
5.
#if DEBUG
#else
    LoggingRule dbRule = new LoggingRule("*", LogLevel.Debug, dbTarget);
    config.LoggingRules.Add(dbRule);
#endif


Теперь все работает, спасибо )
Можно чуть проще:
Код: c#
1.
2.
3.
4.
#if !DEBUG
    LoggingRule dbRule = new LoggingRule("*", LogLevel.Debug, dbTarget);
    config.LoggingRules.Add(dbRule);
#endif
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Условная компиляция / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]