写点什么

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

评论

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

堡垒机价值主要体现在哪里?可以说说吗?

行云管家

网络安全 堡垒机 IT运维

黄石等保测评机构有哪些?在哪里?

行云管家

等保 黄石

Permute 3 - Mac图片音视频格式转换工具

理理

物资堆积如山,管理混乱?这些问题你还在忍受吗?

天津汇柏科技有限公司

低代码开发 软件定制开发 AI人工智能

Navicat for SQL Server 17汉化版及新功能介绍- 图形化解决方案

理理

公立医院电子病历分级评价启动!契约锁率先发布电子签章评分方案

Geek_2a38d5

浅谈C++|STL之string篇

百度搜索:蓝易云

如何迁移分库分表中的数据?

NineData

数据库 sql 分库分表 数据迁移 迁移工具

Acorn 7 for Mac(mac图像处理软件)激活版

Mac相关知识分享

LeetCode:240. 搜索二维矩阵 II,二分查找,详细注释

Lee Chen

“量体裁衣”破局转型难题!广域铭岛助力智转数改跑出加速度

Geek_2d6073

GPUStack 0.2:开箱即用的分布式推理、CPU推理和调度策略

SEAL安全

AI 大模型 生成式AI LLM GPU集群

文献解读-Profiling SARS-CoV-2 mutation fingerprints that range from the viral pangenome to individual infection quasispecies

INSVAST

基因数据分析 生信服务

跨平台 SSH 客户端Termius for mac

Mac相关知识分享

为明天做好准备,摆脱传统财务规划的不足

智达方通

企业管理 企业战略 全面预算管理 全面预算管理系统 财务规划

频繁改版惹人烦?火山引擎数据飞轮两招直击APP痛点促增长

字节跳动数据平台

大数据 云服务 数据平台 火山引擎 数据飞轮

PDF Expert 3破解版 - Mac 上优秀的 PDF 阅读编辑工具支持OCR识别

理理

鸿蒙应用生态构建的核心目标

芯盾时代

鸿蒙

GPUStack 0.2:开箱即用的分布式推理、CPU推理和调度策略

GPUStack

AI 大模型 生成式AI LLM GPU集群

Ubuntu20.04深度学习环境快速配置命令记录

百度搜索:蓝易云

StarUML 5 for mac破解版- UML 建模工具-支持M1/M2

理理

京东商品详情数据接口:全方位解析商品信息的得力助手

tbapi

京东API接口 京东商品详情接口 京东商品数据采集

重磅消息!!CQ 社区版最新规划来了!

BinTools图尔兹

运维 dba 数据库管理 CloudQuery

LED显示器的特点与价格分析

Dylan

互联网系统特点 LED display LED显示屏 舞台表演

Matlab fit函数进行数据拟合

百度搜索:蓝易云

解决npm run build 打包出现XXXX.js as it exceeds the max of 500KB.

百度搜索:蓝易云

vue cli 打包、生产环境http-proxy-middleware代理

百度搜索:蓝易云

百度智能云x️石家庄交管局,大模型打造全时在线数字交警

百度Geek说

AnyDroid激活版 - Android 设备数据传输管理工具(Mac&win)

理理

Scherlokk - Mac 文件快速搜索对比工具

理理

Navicat for Oracle 17 中文直装版- 支持本地或远程服务器(mac&win)

理理

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