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

Как определить символы препроцессора в визуальных студиях С#

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

На вкладке "Сборка" страницы свойств проекта найдите "Условные символы компиляции".

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

Ответ 3

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

#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

Ответ 4

Способ 1:

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

Способ 2:

#define TEST_APP
#if defined(TEST_APP)
#endif

Источник: MSDN