有没有办法添加新的Scaffold或覆盖新的Visual Studio 2013 Scaffolding中使用的Scaffolding功能?
我可以在互联网上找到的唯一文档是如何使用CodeTemplates文件夹覆盖T4模板。我想在Add ...>列表中添加一个新的Scaffold。新的Scaffold项目......在Visual Studio 2013中,它已经被放入一个库(Microsoft.AspNet.Scaffolding.Mvc.5.0.dll)并在GAC中注册或作为VS扩展。
我想覆盖调用T4模板的机制,这样我就可以创建不同的文件并增强功能。我特别需要的是,我想构建旧的CreateOrEdit.cshtml和一个新的DetailsOrDelete.chtml部分视图。我还想使用Scaffold工具来获取资源文件并使用另一种语言生成本地化资源文件。
答案 0 :(得分:3)
在Visual Studio 2013 RTM中,不支持添加完全自定义的脚手架。您只能进行以下自定义:
Visual Studio团队正在努力在Visual Studio的未来更新中重新启用自定义脚手架支持。
立即添加自定义视图脚手架:
CodeTemplates
MvcView
或MvcViewWithoutModel
的子文件夹<templatename>.<lang>.t4
的形式在那里创建一个文件,其中<templatename>
是您想要在MVC View脚手架的下拉列表中显示的内容,<lang>
是cs
}或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的预览,可以编写完全自定义的脚手架。
查看此博客文章,了解如何编写自定义脚手架:Creating a Custom Scaffolder for Visual Studio