2010-04-08 12 views
26

Estoy usando T4toolbox para generar un grupo de archivos, digamos que mi nombre de archivo t4 es x.t4, pero por defecto genera un x.txt, que no tiene nada adentro, ¿puedo decirle al motor t4 que no haga esto?¿Cómo no se genera el archivo generado por T4 predeterminado?

+0

Usted solo está diciendo lo que no debería suceder, no lo que debería suceder. ¿Cuál es el resultado esperado? –

+0

mi salida esperada no es dar salida a la salida predeterminada. Digamos que mi x.t4 por defecto genera f1.cs, f2.cs y x.txt, ahora quiero dar salida a f1.cs, f2.cs solamente, porque x.txt está vacío, sin ningún valor. Pero no sé cómo deshacerme de x.txt. –

Respuesta

6

No. Este archivo ha sido creado por Visual Studio y no por T4. Lo mejor que puede hacer es generar algo útil en él, como un código real o, tal vez, un registro de la ejecución de generación de código.

+0

Gracias. Esta también ha sido mi observación, pero ¿cómo lo logra T4MVC? Ejecutar T4MVC.tt no parece producir un archivo T4MVC. *. – Emmett

+0

@Oleg Sych MSFT Formulo aquí una pregunta relacionada: http://stackoverflow.com/questions/13838142/put-all-methods-in-one-tt-file-and-use-it-in-another-t4- files-in-codetemplates ¿podría comprobarlo? – Saeid

18

Haga clic con el botón derecho en x.t4 en el Explorador de soluciones y haga clic en Propiedades. Dirá "TextTemplatingFileGenerator" junto a Herramienta personalizada. Borrar esto.

x.t4 ahora será parte de su proyecto pero no generará nada. Esto es útil cuando el archivo .t4/.tt solo se usa como un archivo de inclusión en otras plantillas.

+1

Esto debe estar marcado como respuesta. – Achilles

+11

No debe marcarse como respuesta. La pregunta era cómo ignorar el archivo en blanco vacío de salida, no cómo evitar que se ejecute T4 en absoluto. Es posible que necesite ejecutar T4 para generar un conjunto de archivos separados (es decir, usa MultipleOutputHelper.ttinclude), pero no desea que este archivo vacío se genere junto con él. Athari proporcionó la respuesta correcta – YMC

34

¡Encontró un truco/truco!

<#@ output extension="/" #> 

o

<#@ output extension="\\" #> 

Visual Studio 2012 ni da salida al archivo por defecto, ni se queja de su incapacidad demasiado.

P.S. Lo he intentado con T4MultiFile NuGet package, pero también debería funcionar con T4Toolbox, creo.

+1

Buena. Lamentablemente, sigue recibiendo una advertencia sobre el nombre del archivo de salida que no es válido. –

+0

@OlegSych Al menos no es un error. :) "Extensiones" como '" xml /../ 1.txt "' e incluso '" xml /../../../ 1.txt "' también funcionan; el archivo se crea, pero se puede colocar en cualquier lugar del proyecto (todavía está "conectado" al archivo TT en el Explorador de soluciones). – Athari

+0

¡Esto es perfecto! – kamranicus

Cuestiones relacionadas