有没有关于如何使用T4生成aspx或ascx的指南?

时间:2011-05-09 06:45:07

标签: asp.net user-controls code-generation t4

我有一个生成用户控件的任务,我想知道是否有任何指南。 感谢

2 个答案:

答案 0 :(得分:1)

免责声明:答案取决于我们的经验以及已发布且完全可以使用的技术。根据标准,这不是产品“卖”,完全回答问题。

我们在XML模式和XML控制的T4代中,在生产力和平凡化方面(对于最终开发人员都不了解的领域)获得了丰富的经验。

这个想法是负责的架构师将通过逻辑架构限制来约束开发。

我们已将该技术公开发布;基本思路是将整个文件夹和模式以及T4生成器以完全开源的形式分发给每个项目。

在内部开发中,您可以通过版本控制分支和合并来更新对控件的模板/抽象的更改,以便您可以构建单个分发。

该技术的本质是终端开发人员可以通过适当调整生成器,模式和xml内容来定制他们需要的每个方面。

与传统指导相比,投资回报基本上是负面的;您还可以严格控制所生成的代码。

您可以查看视频以了解相关操作方式;该示例演示了轻量级PowerPoint加载项,但该技术是完全开放的,完全与目标平台无关。

http://www.youtube.com/view_play_list?p=B3366B17004D5DB9

更多信息和更新通过博客发布:

http://abstractiondev.wordpress.com

我正在添加更多解释视频,用于从头开始创建抽象。 HelloWorld简单易用,适用于焦点样本,以防您不熟悉Office / COM加载项(及其复杂性)或CQRS堆栈

答案 1 :(得分:0)

我首先会问为什么你需要“生成”用户控件。如果你出于某种原因需要很多非常相似的控件,你不能创建一个用户控件根据某种输入参数调整自己吗?

假设您有充分的理由这样做,我可以提供以下一般T4建议。首先编写一个您想要生成的示例。创建一个类似于您想要生成的实际控件。如果可能,将其作为单个文件(经典的asp样式)执行,将生成控件作为一个文件比生成多个更容易,然后必须在项目文件中将它们关联在一起...非常混乱。将文件的扩展名更改为.tt,并开始将需要更改一个生成的控件的示例控件的部分分解为下一个。尝试一次改变控件的一个方面,生成输出,并与您的预期进行比较。继续改变一件事,直到您开始使用的控件成为生成控件的模板,就像您开始使用的那样。

T4模板只知道如何写出单个文件。由于您要创建多个控件,因此您需要一些额外的工具。如here所述,T4工具箱具有完成此任务所需的功能。