在Visual Studio 2013.2中创建你自己的脚手架

ASP.NET MVC的一个重要组成是一组名为脚手架的代码生成器。受Ruby on Rails的启发,这些代码生成器可以被用来基于一个模型类快速创建控制器和视图。虽然不使用它们也可以完成开发工作,但这常常需要编写大量的样板文件,如果写得有错误,即使能通过编译,在运行期也会出错。

ASP.NET Scaffolding被认为是Visual Studio 2013的新特性,而目前ASP.NET MVC已经有了支持数个版本的类似工具。在VS 2013 Update 2中的新功能使你可以创建自己的脚手架,这些脚手架可以嵌入到整个框架中。你可以从Basic Scaffolder项目类型开始这个过程。

设置头信息(名称、版本等等)之后,你需要决定是不是显示一个自定义的UI。这个UI被ShowUIAndValidate的抽象方法调用,可以专门为用户提供附加选择。如果不需要,简单地覆盖这些方法直接返回true就可以了。

Joost de Nijs继续介绍说,

现在,脚手架工已经有了做脚手架所必需的用户输入(以及你已经持久化的数据),是修改项目的时候了。在Scaffolding框架中内嵌了几类action,它们能帮助你构建自己的脚手架,这些都在Microsoft.AspNet.Scaffolding.12.0 dll的ICodeGeneratorActionsService接口里。当然,你也可以创建你自己的action,但是,使用Scaffolding框架显式地暴露的这些方法调用的好处在于,脚手架的任何一步出现错误时都可以被回滚。项目将回滚到脚手架工被调用之前的状态。

创建新的文件夹和静态文件非常简单,只需要调用正确的Action Service方法。但是如果用于实际的工作,你就需要去学习如何编写T4模版了。

ASP.NET MVC与NuGet一起成长,所以当Scaffolder项目能够以编程的方式安装NuGet包时,也并不会令人感到惊奇。

查看英文原文:Create Your Own Scaffold in Visual Studio 2013.2

感谢邵思华对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(在Visual Studio 2013.2中创建你自己的脚手架)