是否可以将T4模板输出与现有文件合并?
例如,如果T4模板生成本地化资源XML文件,是否可以将它们合并到某个现有资源文件中?
答案 0 :(得分:12)
您可以访问T4使用的基础字符串构建器,认为是GenerationEnvironment属性。因此,通过在T4中添加以下内容,您应该能够获得可行的解决方案;
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ output extension=".txt" #>
<#@ Import Namespace="System.IO" #>
Line #<#= rand.Next(0, 100).ToString() #>
<# AppendFile(@"C:\Development\PodCastSync\test\test.txt"); #>
<#+
Random rand = new Random();
private void AppendFile(string filename)
{
File.AppendAllText(filename, GenerationEnvironment.ToString());
}
#>
如果要停止更新默认支持文件,可以在保存内容后停止输出任何内容,将GenerationEnvironment设置为新的字符串生成器。