BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Jonathan Allen 关注 608 他的粉丝 ,译者 夏雪 关注 0 他的粉丝 发布于 2014年4月15日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT