AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

  • 2014-04-14
  • 本文字数:822 字

    阅读完需:约 3 分钟

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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-04-14 21:182318

评论

发布
暂无评论
发现更多内容

《深入理解JavaScript特性》学习总结2-ES6基础知识点总结

肥晨

11月月更 ES6基础知识点总结 解构赋值

基于 MQ 的分布式 Serverless 多租任务处理系统架构演进

Apache RocketMQ

消息队列 异步调度 #Serverless 任务

脑机直播 x 赛博驱魔!瑞云专访揭秘胶囊计划国风科幻神作《终极体验》制作幕后...

Renderbus瑞云渲染农场

3D动画 动画制作 瑞云专访

用户体验成为继MAU后,手机银行竞争分化的下一分水岭,易观千帆重磅发布手机银行APP用户体验GX评测

易观分析

App 手机银行

为什么晶闸管能在大电流下工作?

元器件秋姐

元器件采购 元器件电商 元器件知识 华秋商城 晶闸管

Meta Force 原力元宇宙dapp系统开发(智能合约部署)

开发微hkkf5566

2022开源之夏|EMQ三大开源项目开发圆满收官

EMQ映云科技

开源 物联网 IoT mqtt 11月月更

完整会议议程:NGINX Sprint China 2022 年度线上大会

NGINX开源社区

nginx

OpenYurt v1.1.0: 新增 DaemonSet 的 OTA 和 Auto 升级策略

阿里巴巴云原生

阿里云 开源 云原生 openyurt

HIFIVE音加加:多场景音乐版权解决方案,让「用音乐」更便捷

曲多多(嗨翻屋)版权音乐

版权保护 视频后期 数字版权保护

CSS修改单选框样式(element)

肥晨

11月月更 单选框样式修改 element单选框样式

万物皆可集成系列:低代码对接Web Service接口

葡萄城技术团队

商业银行普惠金融可持续发展综合能力呈现梯队化,专项领域各有所长

易观分析

普惠金融

图文实录|UIE:基于统一结构生成的通用信息抽取

澜舟孟子开源社区

20个值得收藏的实用JavaScript技巧

千锋IT教育

数据中台选型必读(四):要想中台建的好,数据模型得做好

雨果

数据中台

[力扣] 剑指 Offer 第三天 - 替换空格

陈明勇

Go 数据结构与算法 力扣 11月月更

redhat运维-远程日志记录

阿柠xn

运维 日志 linux 文件权限控制 11月月更

《深入理解JavaScript特性》学习总结1-ES6基础知识点总结

肥晨

箭头函数 11月月更 ES6基础知识点总结

数据中台选型必读(五):中台建设本质就是构建企业的公共数据层

雨果

数据中台

重塑感知,荣耀金洋!金洋奖两项用户体验奖项公布

易观分析

App 手机银行

这些小技巧,让你的前端编程更优雅

好程序员IT教育

前端

大规模预训练模型:探讨与展望

澜舟孟子开源社区

什么是“数字孪生”?有什么价值?

雨果

数字孪生

这家公司的码农有多牛,用C++重写Kafka,还能与其API兼容

雨果

Kafk

国企数字化转型全是坑?看这几个成功案例,减少90%损失

雨果

数字化转型

数字化开采|AIRIOT智慧矿山自动化生产解决方案

AIRIOT

低代码 物联网 智慧矿山

Github上架3天星标55K,阿里最新产架构师速成手册成功颠覆了我的认知

程序员小毕

分布式 微服务 程序人生 架构师 Java后端

深圳市数字经济指数发布:数字经济蓬勃发展,数字用户深度渗透

易观分析

数字经济 深圳

袋鼠云数栈UI5.0体验升级背后的故事:可用性原则与交互升级

袋鼠云数栈

2022年互联网主要技术方向招聘需求变化:人工智能岗位需求增加87.7%;SQL在就业语言需求中位列第一

雨果

sql

在Visual Studio 2013.2中创建你自己的脚手架_语言 & 开发_Jonathan Allen_InfoQ精选文章