我按照使用T4 Scaffolding包创建自定义脚手架的说明进行操作,效果很好。然而,在这个过程中,我发现我需要构建许多可重用的组件,这些组件将在多个脚手架和模板之间共享。
我知道我可以构建一个类库并在 GAC 中注册它以使其可供 powershell 脚本和 T4 模板访问,但在团队环境中,这并不总是可行的。我更愿意将可重用组件签入源代码管理并以某种方式使其可访问。
我采用的一种方法是将 T4 模板拆分为多个文件,然后include
将它们全部放入主模板中。
<#@ include file="Extensions.cs.t4" #>
但是,如果我在任何一个模板中定义一个类,该类将成为一个嵌套类,因此不能是静态的(例如)。
有没有办法构建可重用的类、方法、扩展并使自定义脚手架可以访问它们,而无需将它们安装到 GAC?T4Scaffolding 包具有许多可在自定义脚手架中访问的实用功能。他们是如何做到的呢?