tutorial template plantillas generation for enabled code c# t4 customtool

c# - plantillas - t4 templates tutorial



Ejecutando una plantilla T4 usando C# (2)

Tengo una plantilla T4 (mycode.tt) que genera un archivo cs. Normalmente hago clic con el botón derecho en el archivo tt y selecciono RunCustomTool que internamente toma un archivo xml y genera código para mí. Ahora quiero ejecutar la herramienta personalizada utilizando la aplicación ac # windows. Así que al hacer clic en un botón quiero ejecutar la Herramienta personalizada. ¿Es posible ejecutar el CustomTool desde c #.

Editar:

Tengo 2 archivos tt y uno de ellos no tiene un archivo codebehind cs. Pero otro tiene un archivo .cs adjunto con él y estoy invocando el método TransformText () del segundo archivo del primer archivo .tt. Así que necesito invocar el primer archivo. Por lo tanto, no puedo usar el método TransformText (). ¿Hay una manera de llamar dinámicamente el archivo textTemplate?


Puedes lograrlo fácilmente cuando usas VS2010. Si agrega un nuevo archivo al proyecto, elija un archivo de plantilla de texto preprocesado. Puede editar la plantilla como de costumbre. En lugar de generar la salida directamente, el archivo genera el código que se genera normalmente. Sé que suena confuso. Pero lo que ve en su archivo de salida es el código generado por el kit de herramientas de plantillas de texto para obtener su salida (más o menos).

Este es un breve ejemplo de una plantilla de texto preprocesada llamada "TestTemplate.tt" y cómo la usa en su código:

El archivo tt:

<#@ template language="C#" #> Some output.

Código:

using System; using System.Diagnostics; namespace Test { class Program { static void Main(string[] args) { TestTemplate testTemplate = new TestTemplate(); Debug.Print(testTemplate.TransformText()); } } }


Recomiendo la ruta preprocesada como se responde anteriormente por @jb_.

Como alternativa, si necesita que sus plantillas aún puedan editarse sin un paso de compilación para usar con su aplicación C # personalizada, y la aplicación solo se implementará en máquinas junto con Visual Studio, puede escribir un host personalizado.

http://msdn.microsoft.com/en-us/library/bb126519.aspx