如何将由T4模板生成的代码与该模板分离?

3
当我“运行”一个T4模板时,它为我生成的所有类文件都出现在模板下。如果我将模板从项目中移除,这些文件也会消失。我也不能将文件从模板“下面”复制到项目根目录,因为它们已经在项目根目录中。如何使这些由模板创建的文件脱离模板的束缚?
2个回答

1

发挥创意:

  1. 右键单击并打开包含文件夹。
  2. 将生成的文件拖放到解决方案中的另一个位置。
  3. 从Visual Studio中删除原始模板和文件。
  4. 完成。

不错,但是我们必须绕过这个有点烦人。 - ProfK
上面的答案很合理,或者你可以通过编辑项目文件来断开它们的连接——如果你搜索.tt文件和生成的文件,应该很明显——只需删除连接它们的属性即可。 - GarethJ
1
然而,更为重要的问题可能是“为什么?”一次性代码生成通常是一种反模式。如果您频繁进行此类生成,然后发现生成器中存在错误,那么现在您必须手动修复所有已生成的代码。我建议您找到一种方法将生成的代码与所需的任何手写元素相结合,并保持生成器连接。 - GarethJ
@GarethJ 生成一次代码有很多原因。开始一个新项目并使用模板代码非常类似于此。如果我在生成器中发现了一个错误,我会修复它。 - ProfK

1

如果您想使用T4进行一次性代码生成,我建议使用T4脚手架。该工具最初是为了支持在MVC3中生成视图、控制器等内容,但您可以将其用于几乎任何方面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接