你能从.NET应用程序中处理T4模板吗?

时间:2009-07-23 17:30:39

标签: .net t4 vsx

您可以在.NET应用程序中处理T4模板吗?该代码可以调用吗?包含在项目中?许可?

更新:所以看起来你必须以某种方式使用VS.

5 个答案:

答案 0 :(得分:6)

答案 1 :(得分:4)

我为MonoDevelop IDE编写了一个干净的逆向工程T4引擎实现。它是开源的,根据许可的MIT / X11许可证授权,因此您可以自由地将引擎嵌入您的应用程序或重新分发它。还有一个TextTransform.exe命令行工具的实现,以及Mono.TextTemplating命名空间中的一些API,以帮助托管引擎。

现在唯一真正缺少的功能是自定义指令处理器 - 但欢迎使用补丁: - )

您可以从Mono SVN中的monodevelop / main / src / addins / TextTemplating获取代码。

答案 2 :(得分:2)

据我了解,T4是visual studio的一部分,没有它就无法重新分发。至少,您需要使用您的应用程序重新分发VS shell。

答案 3 :(得分:1)

目前,T4与Visual Studio绑定。我相信Clarius正在开发可能支持自动化的CodeGen版本的工具,但他们尚未最终确定功能集,而且它将成为商业产品。 (更多信息:http://www.visualt4.com/features.html。)在此之前,您必须使用经典的codegen技术(有效地编写自己的T4),或者沿着Oleg提到的Visual Studio Shell + SDK路线(更多信息:{ {3}})。

如果您不必使用T4语法,那么CodeSmith产品可能会满足您的需求。它包含一个用于编写模板和从中生成代码的API。这是一款备受推崇的商业产品,但我自己并没有使用它。有一个在线帮助指南,API参考在这里:http://msdn.microsoft.com/en-us/vsx2008/products/bb933751.aspx

我希望这会有所帮助。祝你好运!

答案 4 :(得分:1)

要处理T4模板,您必须使用Microsoft.VisualStudio.TextTemplating.dll,但我不认为您可以重新分发此程序集

此致 Muse VSExtensions