在生成中包含 T4 生成的 c# 类
本文关键字:包含 T4 | 更新日期: 2023-09-27 18:32:57
我有一个运行时 T4 模板,我用它来生成一个.cs文件。我需要在我的代码中访问这个生成的文件。我没有看到生成的类文件,所以我可以使用它,但是如果我执行"显示所有文件",然后将其包含在我的解决方案和构建中,我就可以访问生成的文件。
如何使用这个生成的 c# 文件而无需手动进行任何更改。
它应该是我使用代码的东西
RuntimeTextTemplate runTimeGen = new RuntimeTextTemplate();
File.WriteAllText("RuntimeGenerator3.cs", runTimeGen.TransformText());
在最后一条语句之后,我应该能够访问生成的类?是模板文件 。我正在使用控制台应用程序。
运行时模板的名称为 RuntimeGenerator.tt
<#@ template language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
namespace Controls
{
public class DropDownControlUtility
{
public static string ForeColor
{
get
{
return "Blue";
}
}
}
}
带有 Main 方法的类包含以下代码
class Program
{
static void Main(string[] args)
{
RuntimeGenerator gen = new RuntimeGenerator();
File.WriteAllText("DropDownUtility.cs", gen.TransformText());
}
}
有 2 种不同的模板 运行时文本模板和设计时文本模板。使用设计时模板生成的文件会自动包含在项目中。运行时文本模板用于在启动程序时在运行时生成文件,而设计时文本模板允许您在 Visual Studio 项目中生成程序代码和其他文件。
因此,您所需要的只是创建新的设计时模板(TextTemplate)并将代码放入其中。生成文件:在"解决方案资源管理器"中,在任何文件的快捷菜单上,选择"运行自定义工具"或单击"生成"菜单中的"转换所有模板"。您还可以设置项目以自动生成文件。