有没有办法添加新的脚手架或覆盖新的 Visual Studio 2013 脚手架中使用的脚手架功能?
我在互联网上能找到的唯一文档是如何使用 CodeTemplates 文件夹覆盖 T4 模板。我想在添加...>新脚手架项...时向列表添加一个新的脚手架...看起来在 Visual Studio 2013 中这已被卷入一个库(Microsoft.AspNet.Scaffolding.Mvc.5.0.dll)并且在 GAC 中注册或作为 VS 扩展注册。
http://weblogs.asp.net/imranbaloch/archive/2013/09/15/customizing-the-asp-net-mvc-5-web-api-2-scaffolding-templates.aspx?CommentPosted=true#commentmessage http://weblogs.asp.net/imranbaloch/archive/2013/09/15/customizing-the-asp-net-mvc-5-web-api-2-scaffolding-templates.aspx?CommentPosted=true#commentmessage
我想重写调用 T4 模板的机制,以便我可以创建不同的文件并增强功能。我的具体需求是我想要搭建旧的 CreateOrEdit.cshtml 和新的 DetailsOrDelete.chtml 部分视图。我还想要一个 Scaffold 工具,它可以获取资源文件并生成另一种语言的本地化资源文件。
在 Visual Studio 2013 RTM 中,不支持添加完全自定义的脚手架。您只能进行以下自定义:
- 您可以编辑或覆盖控制器、区域、视图等的现有 T4 模板。
- 您可以添加将显示在现有 MVC 视图脚手架中的自定义视图脚手架
Visual Studio 团队正在努力在 Visual Studio 的未来更新中重新启用自定义脚手架支持。
今天添加自定义视图脚手架:
- 在 VS2013 中创建任意 ASP.NET 项目
- 添加一个名为的文件夹
CodeTemplates
- 在其中创建一个子文件夹,名为
MvcView
or MvcViewWithoutModel
取决于您的自定义视图模板是否是强类型视图
- 在那里创建一个以下形式的文件
<templatename>.<lang>.t4
哪里的<templatename>
是您想要在 MVC 视图脚手架的下拉列表中显示的内容<lang>
或者是cs
or vb
.
首先,您可以从 VS2013 的默认列表中复制任何现有的脚手架并对其进行自定义。您可以从这里获取内置脚手架:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates\MvcView
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates\MvcViewWithoutModel
如果您使用与现有脚手架相同的名称,那么它将覆盖内置脚手架,即使是从另一个脚手架调用时也是如此。例如,MVC 控制器脚手架将使用项目中的重写视图脚手架。
2014 年 4 月 22 日更新
现在 Visual Studio 2013 Update 2 的预览版已经可用,可以编写完全自定义的脚手架。
查看这篇博客文章,了解如何编写自定义脚手架:为 Visual Studio 创建自定义脚手架 http://blogs.msdn.com/b/webdev/archive/2014/04/03/creating-a-custom-scaffolder-for-visual-studio.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)