2

我正在尝试创建一个 T4 模板,该模板继承自另一个程序集中的另一个模板。问题是,如果我使用 TextTemplatingFileGenerator 自定义工具(模板指令的可见性属性设置为 true),则不会生成引用程序集中的 T4 模板,但前提是我使用 TextTemplatingFilePreprocessor 自定义工具。

我是否以错误的方式使用它?我应该改用不同的技术(包括,或类似这里建议的东西)吗?

更新

评论中要求的有关该场景的一些细节:在我的公司中,我们需要一个可重用的框架来生成对象之间的转换器/映射器(通常是数据库实体到 DTO,反之亦然)。

我们已经厌倦了隐藏它们在内部所做的工作并且通常会导致运行时异常的框架,尤其是对于集合。

我想定义一个模板以在数据映射项目中重用,我们通过反射从另一个程序集中获取对象的定义,并使用映射扩展方法生成静态类。

谢谢弗朗西斯科

4

1 回答 1

2

如果您想在第一个程序集中将模板用作独立模板并在第二个程序集中从它继承,那么您最好在第一个程序集中创建两个模板。

对于第一个模板,使用 TextTemplatingFileGenerator 并包含实际的模板文本。对于第二个模板,使用 TextTemplatingFilePreprocessor 并让内容只是一个 <#@ include #> 指令以包含第一个模板文件。

于 2012-09-17T21:41:35.517 回答