写点什么

在 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:182240

评论

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

镭速传输:安全文件传输的意义

镭速

API Mock 教程, 简单易懂。

Apifox

前端 开发工具 API Mock Mock 服务

IPP SWAP算力LP挖矿系统搭建开发技术

薇電13242772558

智能合约

SQL 优化及场景实例

Andy

人工智能基础软件助力交通运输智慧执法

九章云极DataCanvas

AI女友同时和1000人谈恋爱,狂赚500万

引迈信息

人工智能 AI 低代码 JNPF

软件测试 | Django客户端测试

测吧(北京)科技有限公司

测试

FCPX插件-手势点击滑动视频转场 Hand Gesture Transitions

真大的脸盆

Mac Mac 软件 fcpx插件 视频特效插件 转场效果插件

开源赋能 普惠未来|京东集团寄语2023开放原子全球开源峰会

开放原子开源基金会

什么是低代码开发?低代码开发可以解决哪些问题?

优秀

低代码开发 低代码开发平台

玩转 LLMs 之基础设施「利刃出鞘」

Zilliz

Milvus ChatGPT autogpt zillizcloud langchain

基于WebGL智慧储能电站三维管理平台

2D3D前端可视化开发

物联网 数字孪生 智慧储能电站 微电网

浪潮海岳低代码平台inBuilder开源社区版特性推荐系列-第二期

inBuilder低代码平台

开源 低代码

INFINI Labs 产品更新 | 重磅推出 Easysearch 一个分布式的近实时搜索与分析引擎

极限实验室

elasticsearch console Gateway agent easysearch

软件测试 | unittest单元测试框架

测吧(北京)科技有限公司

测试

AREX Agent 源码解读之全链路跟踪和 Mock 数据读写

AREX 中文社区

Java 测试

数据标注类相关文章:揭秘数据标注的奥秘

数据堂

如何从命令行启动 CST 软件?

思茂信息

2023年5月中国数据库排行榜:OTO组合回归育新机,华为高斯蓄势待发展雄心

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

使用 Easysearch,日志存储少一半

极限实验室

elasticsearch zstd easysearch

AI数据采集标注类型:揭秘数据采集与标注的关键环节

数据堂

浅谈什么是多端能力服务统一

FinFish

前端技术 后端技术 小程序容器 多端能力服务统一 跨端技术

PAG动效框架源码笔记 (二)层级视图

olinone

ios 动效 andiod 特效

直播预告 | 博睿学院:智能告警与AIOps融合探索

博睿数据

根因分析 智能运维 智能告警 博睿数据 博睿学院

软件测试 | 编写单元测试用例

测吧(北京)科技有限公司

测试

MegEngine 使用小技巧:用 mperf 进行安卓 opencl 算子的 roofline 分析

MegEngineBot

深度学习 开源 MegEngine roofline

大数据如何助力营销(3)产品定位

MobTech袤博科技

火热报名!2023开放原子全球开源峰会报名通道正式开启

开放原子开源基金会

得物AI平台-KubeAI推理训练引擎设计和实践

得物技术

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