Directivas del comstackdor C #

Estoy mirando un código de C #, y he encontrado la siguiente statement:

#if DEBUG // Do something here #else // Do something else #endif 

Asumí que DEBUG sería un lugar definido de la siguiente manera:

 #define DEBUG 

Pero no puedo encontrar esa definición, aunque el código parece comportarse como si estuviera configurado. ¿DEBUG es un caso especial y, en caso afirmativo, cómo se configura / cancela?

En el proyecto, vaya a Properties -> Build . En general, tiene una opción para definir tanto DEBUG como TRACE .

Se establece con la directiva #define o en la configuración del comstackdor . Es común que DEBUG se defina en versiones de depuración, por lo que podría comstackr condicionalmente algún código como en su ejemplo.

Puedes leer más sobre esto en MSDN .

Si busca en las propiedades del proyecto, encontrará una opción de depuración DEBUG. Luego puede hacerlo en C #:

 [Conditional("Debug")] public void DebugThis() { } 

También puede definir las constantes de comstackción condicional DEBUG y TRACE en la pestaña Construir de las propiedades del proyecto. Para esta instancia, la checkbox Definir constante de DEPURACIÓN probablemente esté marcada para su proyecto.

Más detalles @ MSDN .