2011-12-19 49 views

回答

6

我已决定增加一个自定义的预生成步骤,生成所需的.TT文件:

<Exec Command="&quot;%PROGRAMFILES(x86)%\Common Files\microsoft shared\TextTemplating\10.0\TextTransform.exe&quot; template.tt -out template.cs" /> 

这种方法还允许我轻松地将参数(在项目文件中定义)传递给模板与-a;我面临的另一个问题。

+0

解决方法为+1;我完全忘了TextTemplating。如果您需要分发TextTransform.exe(或其他组件)以支持没有VS的构建环境,则可能需要查看MonoDevelop;它提供了MIT /开源许可的兼容T4实现。 – Kallex 2011-12-20 05:37:12

+0

是的,这是我得到它的唯一方式,以及...谢谢! – PSL 2014-08-28 18:52:59

0

作为实现此目的的另一种方法的回答。

  1. 你可以改变你.TT为TextTemplatingFilePreprocessor (descibed这里更好: http://www.olegsych.com/2009/09/t4-preprocessed-text-templates/)。
  2. 创建一个小命令行工具,在预生成事件上执行预处理器。

第一个环节包括这个例子,但它描述了预处理类: http://blogs.clariusconsulting.net/pga/vs10-beta-1-t4-preprocessing-part-2/

+0

如果有人需要运行更高级的场景,预处理的模板会发挥作用,但是OP的解决方法是实现常用所需功能的简单方法。 – Kallex 2011-12-20 05:39:17

+0

这是一个很好的例子,为什么答案应该是自我包含的,而不是依赖(死)的链接。 – beattyac 2017-01-24 21:32:17