2010-07-29 80 views
4

是否可以在不需要Visual Studio 2010的情况下运行T4代码生成?基本上我必须建立一个内部ORM(不要问..如果我有选择,我不会)。我打算使用亚音速作为基础,但改变一些事情以及它们的工作方式。然而,我的主要问题是我可以从我编写的外部应用程序运行T4,所以我可以使用T4的功能?还是我最好自己做(我怀疑)?没有Visual Studio 2010的T4代码生成?

回答

0

AFAIK T4模板从Visual Studio IDE中调用。

构建一个ORM需要的不仅仅是文本模板。我建议你看看AtomWeaver(在http://www.atomweaver.com)这是一个代码生成器,可以让你从单个构建模块(称为“Atoms”)建立模型。这些Atom是智能模板,既可以作为文本模板,也可以作为迷你程序使用,使您可以做更多简单的字符串替换。

您可以开发自己的“原子”,将数据库结构转换为源代码。然后,对于每个新的数据库,将这些Atom结合起来构建模式,并启动生成器以获取源代码。因为你创建的实际上是你的数据库的一个模型,你可以稍后做出任何改变并重新生成你的代码。 AtomWeaver实现了ABSE,这是一种模型驱动的软件开发(与UML或MDA无关)。了解ABSE的机制http://www.abse.info

AtomWeaver目前处于公开测试版。目前没有太多的文档,所以你可能很难加快速度。

7

TextTransform.exe会做你想要什么简单的场景:

http://msdn.microsoft.com/en-us/library/bb126245.aspx

这里是如何从自己的代码运行T4模板在VS 2010中创建的模板:

http://msdn.microsoft.com/en-us/library/ee844259(VS.100).aspx

这里是如何运行T4 t从你自己的代码emplate在VS 2008中创建的模板:

http://www.capprime.com/software_development_weblog/PermaLink,guid,104d9faf-5780-42ca-88e5-c04cb88f61b3.aspx

将有运行Visual Studio之外亚音速T4模板的一些问题:

How can I automate the t4 code generation for SubSonic

我会坚持到T4,而不是推出自己的模板引擎。

3

T4是Visual Studio的一部分。如果你的ORM工具可以假定Visual Studio可用,T4是一个不错的选择。您可以选择使用应用程序重新分发包含T4的Visual Studio外壳程序。或者,您可以使用preprocessed templates将模板编译为可执行代码生成器。在编译的形式下,这些模板不需要Visual Studio,但也不能修改。

奥列格

相关问题