¿Puedo usar T4 programáticamente desde C #?

Estoy escribiendo software que produce código C #. Principalmente estoy usando StringTemplate y StringBuilder.

¿Hay alguna forma de usar plantillas T4 directamente desde mi código?

Oleg Sych describe cómo hacer esto aquí: Entendiendo T4: Plantillas de texto preprocesadas . Tenga en cuenta que parece que necesitará Visual Studio 2010 para generar una plantilla de texto preprocesada, pero podrá hospedar la plantilla de texto preprocesada donde desee, incluso dentro de su aplicación WinForms.

Una forma sencilla de hacer esto:

System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.EnableRaisingEvents = false; // Set text transform program (this could change according to the Windows version) proc.StartInfo.FileName = "C:\\Program Files (x86)\\Common Files\\microsoft shared\\TextTemplating\\10.0\\TextTransform.exe"; // Specify T4 template file proc.StartInfo.Arguments = "C:\template.tt"; proc.Start();