Tengo una plantilla T4 que puede generar contenido optimizado o contenido estándar basado en un indicador. Actualmente estoy cambiando manualmente la bandera según mis necesidades.Determine la configuración de la solución (depuración/liberación) al ejecutar una plantilla T4
Lo que me gustaría hacer es establecer la bandera según la configuración de la solución en Visual Studio. Si se configura para compilar en el modo de depuración, generaría contenido estándar. Si se configura para compilar en modo Release, optimizaría el contenido en su lugar. He encontrado otra pregunta T4 que parece prometedor: T4 Text Template - Is it possible to get compilation symbols from host?
Sin embargo, en mi caso me gustaría hacer algo como lo siguiente:
<#@ template language="C#" hostspecific="True"
compilerOptions="/d:$(ConfigurationName)" #>
Desde que puedo usar $ (SolutionDir) en una directiva de ensamblado:
<#@ assembly name="$(SolutionDir)\myreference.dll" #>
yo creo que el/d: $ (ConfigurationName) podría llegar a donde tenía que ir, y entonces yo podría hacer lo siguiente para configurar mi bandera:
<#
#if Debug
optimize = false;
#else
optimize = true;
#endif
#>
Por desgracia, esto no parece funcionar. También intenté usar:
Host.ResolveParameterValue("-", "-", "ConfigurationName");
También inútilmente. ¿Algunas ideas?
¿Hay una página para la clase DTE en los documentos de MSDN? Lo he estado buscando y tengo dificultades para encontrar uno. – rstackhouse
No importa. Creo que acabo de encontrarlo: http://msdn.microsoft.com/en-us/library/vstudio/EnvDTE(v=vs.100).aspx – rstackhouse
SDTE? ¿Es eso un error tipográfico? –