Могу ли я использовать T4 программно из C #? - PullRequest
16 голосов
/ 23 октября 2009

Я пишу программное обеспечение, которое производит код C #. В основном я использую StringTemplate и StringBuilder.

Можно ли использовать шаблоны T4 прямо из моего кода?

Ответы [ 2 ]

11 голосов
/ 23 октября 2009

Олег Сыч описывает, как это сделать здесь: Понимание T4: предварительно обработанные текстовые шаблоны . Обратите внимание, что, похоже, вам понадобится Visual Studio 2010 для создания предварительно обработанного текстового шаблона, но вы сможете размещать предварительно обработанный текстовый шаблон где угодно, в том числе в приложении WinForms.

5 голосов
/ 20 июня 2011

Простой способ сделать это:

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();
...