0

我按照使用T4 Scaffolding包创建自定义脚手架的说明进行操作,效果很好。然而,在这个过程中,我发现我需要构建许多可重用的组件,这些组件将在多个脚手架和模板之间共享。

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

我采用的一种方法是将 T4 模板拆分为多个文件,然后include将它们全部放入主模板中。

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

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

有没有办法构建可重用的类、方法、扩展并使自定义脚手架可以访问它们,而无需将它们安装到 GAC?T4Scaffolding 包具有许多可在自定义脚手架中访问的实用功能。他们是如何做到的呢?

4

1 回答 1

0

我想我是在这个答案的帮助下想出来的。我必须用我所有的共享代码构建一个程序集。然后,在 Powershell 脚本中,我只需要:

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

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

于 2012-11-23T19:45:25.890 回答