10

我正在使用几个 T4 模板来生成几个 T4 文件,并且它们中的大多数共享很多相同的代码,所以我自然想用它制作一个函数并将它放在一个与所有 T4 文件不同的文件中可以访问。

但是我似乎无法找到一种方法,或者谷歌寻找一种方法来实际使用存储在另一个文件中的代码。

这可能吗?如果是这样,是否有一个简单的例子来说明如何做到这一点?

4

1 回答 1

8

从您的问题来看,听起来您只是在解决方案的普通模板文件中使用 T4。在这种情况下,您可以只使用该<#@ include #>指令来拉入您的共享代码。它是一种原始文本包含机制,类似于 C/C++ 的#include,因此您可以移动尽可能多或尽可能少地共享到其他文件中。

请参阅此处的文档。

值得注意的是,目前,include 指令在 ASP.Net 视图脚手架模板中不起作用。

如果您想与常规 C# 项目共享代码,这是可能的,但您需要将共享代码构建到您可以引用的程序集中。不可能只使用<#@ include #>指令直接拉入.cs文件,因为指令不会嵌套在控件或类功能块中。

您可以使用此处<#@ assembly #>记录的指令引用包含共享代码的帮助程序集。

于 2013-04-08T19:35:49.227 回答