我有一个T4模板,可以从xml文件生成类。

如何在xml文件和模板文件之间添加依赖关系,以便在修改xml文件时自动重新运行模板而不选择<!>“运行自定义工具<!>”;从上下文菜单?

有帮助吗?

解决方案

我不相信T4支持基于外部依赖的自动模板转换。我同意Marc - 如果你只有一个外部文件,你可以创建一个自定义<!>“自定义工具<!>”;对于您的XML文件或只是使用 ttxgen 。但是,我不认为这种方法可以扩展到t4模板依赖于多个文件的情况。您可能需要创建一个Visual Studio包来处理它。

其他提示

该工具需要多长时间才能执行?一个懒惰的选项可能是简单地编辑csproj,使其始终在构建期间运行该工具(可能是通过 <Exec ... /> 或自定义targets文件) - 当然,这取决于它是否可以快速执行。

另一种方法是编写一个用作<!>“自定义工具<!>”的填充程序。在VS中,只需使用正确的args调用现有的exe(或其他)。不是微不足道的,但可行的(见这里) - 我相信据说这应该与变化检测相当不错。它实际上是我当前项目要做的事情列表,所以我很快就会发现......

您可以使用 AutoTT Visual Studio Extension。

此扩展允许配置将运行T4模板的触发器。

可能的触发器之一是文件更改。在AutoTT页面的示例配置文件中,触发器的正则表达式匹配指定文件夹(控制器,内容)中的所有文件,但您可以更改它以使其仅与特定文件一起运行。

Chirpy 是另一种选择。并且还以不同的方式 T4 Regenerator

您是否尝试过使用 <!> lt;#@ xsd

scroll top