2010-03-01 15 views
12

Lo siento si mi terminología es incorrecta. Escribí #if TEST_APP en mi código. Ahora me gustaría definir TEST_APP. ¿Cómo lo configuro utilizando Visual Studios 2010? Esta es una aplicación de formulario de Windows.¿Cómo puedo definir un preprocesador de símbolos en C# visual studios?

bonificación si usted me puede decir el nombre del símbolo que se establece en un proyecto WinForm y en un proyecto web

Respuesta

16

En el visual studio solution explorer, haga clic derecho en un proyecto y haga clic en Propiedades. Abra la pestaña de compilación y verá un campo "Símbolos de compilación condicional". Esta es una lista separada por comas, o espacio separado. También hay 2 casillas de verificación para símbolos comúnmente usados, DEBUG y TRACE.

para sus proyectos web que podría establecer el campo a "WEB_PROJECT" y winforms a "WINFORMS_PROJECT"

+1

También puede establecer estas cosas directamente en su archivo de proyecto (*. Csproj) por ejemplo ' DEPURAR; RASTREO' dentro de un Grupo de propiedades. – Jeyenne

7

En el separador Crear de la página de propiedades para el proyecto, busque los "símbolos de compilación condicional " ajuste.

No creo que haya símbolos diferentes definidos por defecto para las aplicaciones web y winform. Tenga en cuenta que esto está establecido para el proyecto en sí, y no afectará ninguna biblioteca de clases, por lo que espero que cualquier código dentro de un proyecto realmente sepa si está en una aplicación de Windows o no para empezar. ¿Para qué estabas pensando usar esto?

+0

después de escribir APP_TEST -dAPP_TEST (pienso gcc) y les falle y después de ver estas respuestas me di cuenta de que tenía una referencia a mi lib web en lugar de incluir mis archivos. Uy. Fue entonces cuando intenté obtener F # y C# para definir métodos en la misma clase parcial. –

+0

No necesito la aplicación y la definición de la web, me pregunto porque sé que C++ lo hace. Estoy probando un código de back-end en una aplicación para poder modificarlo sobre la marcha y no puedo hacerlo en una aplicación web (no se permiten los cambios en el siguiente caso. Depurador conectado a un proceso ya en ejecución) –

+0

Lo usamos en una aplicación web para habilitar el almacenamiento en caché en la depuración. En Liberar, la lógica de almacenamiento en caché estaba habilitada, en la depuración está deshabilitada, pero a veces desea probar la lógica de almacenamiento en caché (en depuración). Para esto es un condicional adicional es útil. (DEBUG | DEBUG_WITH_CACHE) – bob

0

Método 1:

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

Método 2:

#define TEST_APP 
#if defined(TEST_APP) 
#endif 

Fuente: MSDN

0

Si necesita su compilación condicional para refl ect las condiciones de construcción o del entorno, verifique mi respuesta al How do I set a conditional compile variable en StackOverflow. Muestro cómo habilitar la compilación condicional en función de las condiciones ambientales, tales como versión C# lenguaje, por lo que se puede escribir código como este:

#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 
Cuestiones relacionadas