Добавьте следующий метод в шаблон T4:
<#
public void SaveFile(string folder, string fileName, string content)
{
using (FileStream fs = new FileStream(Path.Combine(folder, fileName), FileMode.Create))
{
using (StreamWriter str = new StreamWriter(fs))
{
str.WriteLine(content);
str.Flush();
}
}
}
#>
Добавьте следующие строки в конце вашего вывода (последний <# блок управления #>), чтобы предотвратить запись в дочерний узел и запись в пользовательский каталог / файл:
<#
SaveFile(folder, filename + ".cs", this.GenerationEnvironment.ToString());
this.GenerationEnvironment.Remove(0, this.GenerationEnvironment.Length);
#>
Этот проект содержит несколько примеров.
Обратите внимание, что он все равно добавит пустой дочерний узел, но в файл не записывается вывод.