创建可重复使用的脚手架

时间:2012-11-23 14:47:27

标签: powershell t4 t4scaffolding

我使用creating a custom scaffolder包按照T4 Scaffolding上的说明进行操作,效果很好。但是,在这个过程中我发现我需要构建大量可重用的组件,这些组件将在多个脚手架和模板之间共享。

我知道我可以构建一个类库并在GAC中注册它以使PowerShell脚本和T4模板可以访问它,但在团队环境中,这并不总是可行的。我更愿意将可重用组件签入源代码控制并以某种方式访问​​它们。

我采用的一种方法是将T4模板拆分为多个文件,并将include全部拆分为主模板。

<#@ include file="Extensions.cs.t4" #>

但是,如果我在任何一个模板中定义一个类,该类将成为嵌套类,因此不能是静态的(例如)。

有没有办法构建可重用的类,方法,扩展并使自定义脚手架可以访问它们而无需将它们安装到GAC? T4Scaffolding包的数量为utility functions accessible in the custom scaffolder。他们是怎么做到的?

1 个答案:

答案 0 :(得分:0)

我想我是在this answer的帮助下弄明白的。我必须用我所有的共享代码构建一个程序集。然后,在Powershell脚本中,我只需要:

import-module "d:\path\to\assembly.dll"

希望有人帮助。如果有人有更好的想法,请分享。