Tengo una solución bastante compleja, que contiene 10 proyectos aparte de los de prueba. Es una red de aplicaciones distribuidas & servicios que se comunican mediante comunicación remota; por lo tanto, tener los ensambles referenciados apropiados (versiones &) es crucial. Es por eso que quiero que todo esté compilado y empaquetado en UNA compilación.Construya toda la solución pero agregue símbolos de compilación condicional global para un solo proyecto
Una de las aplicaciones es una herramienta de demostración/análisis que ejecuta un subproceso de otra aplicación mucho más grande basada en la entrada del usuario y muestra los resultados; De esa forma, los ingenieros tienen una herramienta para ayudar a ajustar sus configuraciones para "la gran computación". Obviamente que el subproceso está contenida en otra asamblea, y una gran parte de los resultados del te presentan a los ingenieros es generada por
#if ENABLE_TRACE_MATCHING
Trace.WriteLine("Some engineering output");
#endif
Mi problema es que los símbolos de compilación condicional en la configuración del proyecto se limitan a la asamblea de ese proyecto, y hacer no se propaga a través de ensambles referenciados. ¿Cómo puedo configurar mi construcción de tal manera que todos los proyectos se construirán sin ENABLE_TRACE_MATCHING siendo definida, excepto para el proyecto de un debug/análisis de la aplicación en todos los proyectos referenciados/asambleas deben ser compilados con ENABLE_TRACE_MATCHING siendo definido
Tampoco puedo reemplazar #if ENABLE_TRACE_MATCHING por #if DEBUG, ya que eso permitiría una gran cantidad de resultados diferentes que nuestros ingenieros no sabrían cómo manejar.
Gracias de antemano.
PD: Si crees que mi código huele, entonces estoy de acuerdo. Además: en general no es mi código;)
me olvidó mencionar: Es todo C# y .NET 3.5 – user588939