【发布时间】:2011-05-23 01:37:44
【问题描述】:
我正在 VS 2010 中构建一个插件,但我卡在了 T4 代。 现在我已经实现(就像 MSDN 建议的那样)一个自定义 T4 主机来生成我的 T4 结果,我以这种方式使用它:
const string content = @"c:\Simple.tt";
var engine = new Engine();
var host = new MyTemplateHost();
var result = engine.ProcessTemplate(File.ReadAllText(content), host);
foreach (CompilerError error in host.Errors)
{
Console.WriteLine(error.ErrorText);
}
在我在模板中传递一个参数之前,这一直有效。一旦我在 .tt 文件中创建了一个参数,主机就吓坏了,说它不知道如何解决它。 我看到你可以使用 TemplateSession 来做到这一点,但我不知道如何将它传递给我的主机? 有没有更好的方法使用 C# 从 .tt 生成代码并在运行时传递参数?也许我走错了路。
【问题讨论】:
标签: c# visual-studio-2010 t4 template-engine