2011-01-12 2 views
8

Come specificare il percorso di uscita di un modello T4?Percorso di uscita per modello T4 condiviso

Quando aggiungo il mio modello T4 con "Aggiungi come Link" per il mio progetto da $TemplatePath$, esso genera il file di output in $TemplatePath$, non $ProjectPath$. Come posso specificare che $ProjectPath è dove si trova il file generato?

+3

Ho aggirato questo problema avendo un modello principale in una posizione e quindi i modelli che ne importavano uno (ma facevano poco altro) in ogni progetto. Certo, questa non è la soluzione più bella quindi sono interessato a vedere se qualcuno può risolvere questo problema. –

+0

@Jeff Yates - per favore aggiungi questo come risposta! –

+0

Jeff - Direi che è in realtà una soluzione molto bella. –

risposta

7

Ho aggirato questo problema avendo un modello principale in una posizione e quindi modelli che l'hanno importato (ma ha fatto poco altro) in ogni progetto. Certo, questa non è la soluzione migliore.

+0

Inserito come risposta come richiesto. –

+1

Avete qualche esempio su come farlo? – jimmystormig

+2

@Jimmy Quando si crea un file .tt stub, è possibile includere quello principale con questa direttiva: '<# @ include file =" .. \ SomeProject \ OriginalTemplateFile.tt "#>' – SandRock

1

Generalmente utilizziamo lo stesso sistema descritto da Jeff Yates con modelli di stub minimi (spesso a linea singola) incluso il modello condiviso.

Si potrebbe anche utilizzare Oleg Sych's T4Toolbox per proiettare l'output in qualsiasi directory che si desidera.

Tuttavia, lo standard IVsSingleFileGenerator su cui è costruito lo strumento personalizzato di T4 non dispone di quadranti per il controllo della posizione di output e il suo comportamento nel caso di file collegati è come descritto.