2009-08-29 11 views
47

Come posso ottenere un riferimento alla directory del progetto di studio visivo o alla soluzione o alla directory del modello t4 da un modello t4?Ottieni progetto o directory relativa con T4

Ho un modello che concatena un numero di file insieme che si trovano rispetto al modello. Ho bisogno di ottenere un riferimento alla posizione assoluta attraverso un mezzo relativo. La codifica hard di un percorso assoluto non è accettabile perché il progetto di Visual Studio non si troverà sempre nella stessa posizione e ciò interromperà la generazione del codice. La lettura della directory di lavoro corrente dall'ambiente non funziona o perché restituisce la posizione in cui il motore T4 non risiede nel modello. Sto solo entrando in T4 quindi qualsiasi aiuto sarebbe apprezzato.

risposta

84

Vedere Parametro specifico host sezione HERE.

Questo snippet mostra come ottenere il percorso completo di src relativo al modello.

<#@ template hostspecific="true" #> 
// The location of the src folder relative to the t4 template: 
// <#= Host.ResolvePath("src") #> 
1

È possibile afferrare il percorso come questo aswell

<#@ template hostspecific="true" #> 
<#= Path.GetDirectoryName(this.Host.TemplateFile) #> 
Problemi correlati