我想知道是否可以直接在VS2008中调用T4自定义工具TextTemplatingFileGenerator,例如使用插件。
我的情况是我在解决方案中有元数据(xml)文件。 T4模板读取这些文件以在与元数据文件相同的文件夹中生成C#类文件。
目前我有T4模板扫描搜索特定扩展和创建文件的解决方案。能够运行一个使用元数据文件路径调用模板的加载项会很不错。请注意,我非常广泛地使用VS主机将生成的文件添加到项目中。
我想知道我是否可以直接从加载项中调用TextTemplatingFileGenerator,如果这样可以让我实现我想要的目标。
还需要考虑的是我使用的是T4toolbox。
此致 ILIAS
答案 0 :(得分:1)
是的,您当然可以将T4服务称为加载项。您不需要使用TextTemplatingFileGenerator,它几乎是服务的瘦包装。
在加载项中,将DTE对象强制转换为IServiceProvider,然后向其询问STextTemplating。
将结果转换为ITextTemplating,然后为要转换的每个模板调用ProcessTemplate方法。如果您进行多次调用,则在调用Begin / EndErrorSession时将它们括起来以重复输出。
回调和层次结构参数是可选的。