Ho un modello T4 in grado di produrre contenuto ottimizzato o contenuto standard basato su un flag. Attualmente sto modificando manualmente la bandiera in base alle mie esigenze.Determinare la configurazione della soluzione (debug/release) quando si esegue un modello T4
Quello che mi piacerebbe fare è impostare il flag in base alla configurazione della soluzione in Visual Studio. Se impostato per costruire in modalità Debug, vorrei produrre un contenuto standard. Se impostato per creare in modalità di rilascio, vorrei invece ottimizzare il contenuto. Ho trovato un'altra domanda T4 che sembra essere molto promettente: T4 Text Template - Is it possible to get compilation symbols from host?
Tuttavia, nel mio caso io vorrei fare qualcosa di simile al seguente:
<#@ template language="C#" hostspecific="True"
compilerOptions="/d:$(ConfigurationName)" #>
Dal momento posso usare $ (SolutionDir) in una direttiva di montaggio:
<#@ assembly name="$(SolutionDir)\myreference.dll" #>
penserei l'/ d: $ (ConfigurationName) otterrebbe me dove ho bisogno di andare, e poi ho potuto effettuare le seguenti operazioni per impostare la mia bandiera:
<#
#if Debug
optimize = false;
#else
optimize = true;
#endif
#>
Ahimè, questo non sembra funzionare. Ho anche provato a usare:
Host.ResolveParameterValue("-", "-", "ConfigurationName");
Anche senza risultato. Qualche idea?
Esiste una pagina per la classe DTE nei documenti MSDN? L'ho cercato e ho avuto difficoltà a trovarne uno. – rstackhouse
Nevermind. Penso di averlo appena trovato: http://msdn.microsoft.com/en-us/library/vstudio/EnvDTE(v=vs.100).aspx – rstackhouse
SDTE? È un errore di battitura? –