2011-01-12 9 views
8

¿Cómo puedo especificar la ruta de salida de una plantilla T4?Ruta de salida para la plantilla T4 compartida

Cuando agrego mi plantilla T4 utilizando "Agregar como Enlace" para mi proyecto de $TemplatePath$, genera el archivo de salida en $TemplatePath$, no $ProjectPath$. ¿Cómo puedo especificar que $ProjectPath es donde se coloca el archivo generado?

+3

Me salvé esto teniendo una plantilla maestra en una ubicación y luego las plantillas que importaron esa (pero hicieron poco más) en cada proyecto. Por supuesto, esa no es la mejor solución, así que estoy interesado en ver si alguien puede resolver esto. –

+0

@Jeff Yates - ¡por favor agregue esto como una respuesta! –

+0

Jeff - Diría que en realidad es una solución muy buena. –

Respuesta

7

Lo solucioné al tener una plantilla maestra en una ubicación y luego plantillas que importaron esa (pero hicieron poco más) en cada proyecto. Por supuesto, esa no es la mejor solución.

+0

Publicado como respuesta según lo solicitado. –

+1

¿Tiene algún ejemplo de cómo hacer esto? – jimmystormig

+2

@Jimmy Al crear un archivo .tt de stub, puede incluir el principal con esta directiva: '<# @ include file =" .. \ SomeProject \ OriginalTemplateFile.tt "#>' – SandRock

1

Normalmente utilizamos el mismo sistema que Jeff Yates menciona con plantillas de stub mínimas (a menudo de una sola línea), incluida la plantilla compartida.

También podría usar T4Toolbox de Oleg Sych para proyectar la salida en cualquier directorio que desee.

Sin embargo, el IVsSingleFileGenerator estándar en el que se basa la herramienta personalizada de T4 no tiene ninguna marca para controlar su ubicación de salida y su comportamiento en el caso de los archivos vinculados es el que usted describe.

Cuestiones relacionadas