Как определить символы препроцессора в визуальных студиях C # - PullRequest
13 голосов
/ 01 марта 2010

Извините, если моя терминология неверна. Я написал #if TEST_APP в своем коде. Теперь я хотел бы определить TEST_APP. Как мне установить его, используя Visual Studio 2010? Это приложение Windows Form.

Бонус, если вы можете сказать мне имя символа, который установлен в проекте winform и в веб-проекте

Ответы [ 4 ]

23 голосов
/ 01 марта 2010

В обозревателе решений Visual Studio щелкните правой кнопкой мыши проект и выберите Свойства. Откройте вкладку сборки и вы увидите поле «Условные символы компиляции». Это список через запятую или через пробел. Есть также 2 флажка для часто используемых символов, DEBUG и TRACE.

Для ваших веб-проектов вы можете установить поле "WEB_PROJECT" и winforms равным "WINFORMS_PROJECT"

8 голосов
/ 01 марта 2010

На вкладке «Построение» на странице свойств проекта найдите параметр «Условные символы компиляции».

Я не верю, что для веб-приложений и приложений winform по умолчанию определены разные символы. Имейте в виду, что это задано для самого проекта и не повлияет на какие-либо библиотеки классов - поэтому я ожидаю, что любой код в проекте действительно будет знать, находится ли он в приложении Windows или не начинаться с него. Для чего ты думал об этом?

0 голосов
/ 17 апреля 2017

Если вам нужна условная компиляция для динамического отражения условий сборки или среды, проверьте мой ответ на Как установить переменную условной компиляции в StackOverflow. Я покажу, как включить условную компиляцию на основе внешних условий, таких как версия языка C # , чтобы вы могли написать код, подобный следующему:

#if CSHARP7
    ref T pi = ref rg[i], pj = ref rg[j];
    var t = pi;                    // swap elements: managed pointers
    pi = pj;
    pj = t;
#else
    var t = rg[i];                 // swap elements: clunky
    rg[i] = rg[j];
    rg[j] = t;
#endif
0 голосов
/ 01 марта 2010

Метод 1:

#define TEST_APP true
#if TEST_APP == true
#endif

Метод 2:

#define TEST_APP
#if defined(TEST_APP)
#endif

Источник: MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...