.net - 从 t4 预处理文本模板生成多个输出

标签 .net t4

我想知道是否有办法从我的预处理模板生成多个文件?

最佳答案

当您调用“TransformText()”方法时,预处理模板会以字符串形式返回整个生成的代码。结果保存在哪个文件中由您决定。

您可以将 token 渲染到生成的代码中,无论您想在何处启动新文件,分割返回的字符串并将每个部分保存在单独的文件中。

例如 - 如果这是您的预处理模板:

<#@ template #>

// This output text goes to the first file

NEW_FILE_TOKEN

// this output text goes to the next file

你的调用代码将是这样的:

var myTemplateInstance = new MyTemplate();
var result = myTemplateInstance.TransformText();

var fileContents = result.Split("NEW_FILE_TOKEN");
for(int i = 0; i < fileContents.Count; i++)
{
    System.IO.File.WriteAllText("File" + i.ToString() + ".txt", fileContents[i]);
}

您最终会得到两个文件(File0.txt 和 File1.txt),一个包含第一个注释行,另一个包含第二个注释行。

关于.net - 从 t4 预处理文本模板生成多个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15108336/

相关文章:

c# - 在 C# 中使用 PowerShell 导入 CSV 添加列

c# - AddOrUpdate 不修改 child

.net - T4 vs CodeDom vs 奥斯陆

visual-studio - 您使用 T4 的目的是什么?

c# - 使 .Net 3.5 应用程序与 .Net 4.0 应用程序对话的最稳定方式

c# - EntityFramework t4 模板 - XML 文档

asp.net-mvc - 代码生成: Custom controller templates

.net - HttpWebRequest 中的 http 参数值的大小是否有限制?

c# - 从 .NET 中的同一对话框中选择文件或文件夹

.net - Restsharp 在服务器上运行时引发 SSL 错误