2008-11-11 12 views

Respuesta

4

No creo que T4 admita la transformación automática de plantillas basada en una dependencia externa. Estoy de acuerdo con Marc: si solo tienes un archivo externo, puedes crear una "herramienta personalizada" personalizada para tu archivo XML o simplemente usar ttxgen. Sin embargo, no creo que este enfoque se adapte a un escenario donde la plantilla t4 depende de más de un archivo. Es posible que deba crear un paquete de Visual Studio para manejarlo.

+0

¿Hay alguna forma de utilizar ttxgen de VS2010? –

3

¿Cuánto tarda la herramienta en ejecutarse? Una opción perezosa podría ser simplemente editar el csproj tal que siempre ejecuta la herramienta durante la compilación (presumiblemente a través de <Exec ... /> o un archivo personalizado targets); por supuesto, esto depende de que sea rápido de ejecutar.

Otra forma sería escribir una cuña que funciona como la "Herramienta personalizada" en VS, y simplemente llama al exe existente (o lo que sea) con las args correctas. No es trivial, pero factible (see here) - Creo que esto supuestamente juega muy bien con la detección de cambios. En realidad, está en mi lista de cosas que hacer para un proyecto actual, así lo averiguaré lo suficientemente pronto ...

1

Puede usar AutoTT Visual Studio Extension.

Esta extensión permite configurar activadores que ejecutarán una plantilla T4.

Uno de los desencadenantes posibles es un cambio de archivo. En el archivo de configuración de muestra en la página AutoTT, la expresión regular para los disparadores coincide con todos los archivos en las carpetas especificadas (Controladores, Contenido), pero puede cambiarlo para que se ejecute solo con un archivo específico.

Chirpy es otra opción para hacer esto. Y también T4 Regenerator, que lo hace de una manera diferente.

Cuestiones relacionadas