2012-09-17 82 views
1

我正在尝试创建一个T4模板,它从另一个单独的程序集中继承。 问题是如果我使用TextTemplatingFileGenerator自定义工具(也将模板指令的visibility属性设置为true),但是仅在使用TextTemplatingFilePreprocessor自定义工具时,才会生成引用程序集中的T4模板。生成T4模板为公开

我用错了吗?我是否应该使用不同的技术(包括,或建议here)?

UPDATE

在意见中的要求有关场景的一些细节: 在我的公司,我们需要一个可重复使用的架构产生物体(通常是数据库实体的DTO,反之亦然)之间的转换器/映射器。

我们厌倦了隐藏内部操作的框架,通常会导致运行时异常,特别是对于集合。

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

感谢 弗朗西斯

+0

您试图实现的整体场景是什么? – FuleSnabel

+0

Francesco,您使用TextTemplatingFilePreprocessor时遇到了什么问题? – GarethJ

回答

2

如果你想使用的模板都在第一装配一个独立的模板,并从它在第二继承,那么你最好在第一组件创建两个模板。

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

+0

我看了一下你的例子(http://blogs.msdn.com/b/garethj/archive/2011/01/04/vs2010-sp1-t4-template-inheritance-part-ii-the-core-template .aspx),我能够实现我的目标。非常感谢你 – fra