Powershell 如何添加Visual Studio 2013脚手架中使用的新脚手架?

Powershell 如何添加Visual Studio 2013脚手架中使用的新脚手架?,powershell,visual-studio-2013,asp.net-mvc-5,t4,asp.net-mvc-scaffolding,Powershell,Visual Studio 2013,Asp.net Mvc 5,T4,Asp.net Mvc Scaffolding,是否有方法添加新的脚手架或覆盖新的Visual Studio 2013脚手架中使用的脚手架功能 我能在互联网上找到的唯一文档是如何使用CodeTemplates文件夹覆盖T4模板。添加…>新脚手架项目。。。在VisualStudio2013中,它似乎已被卷入一个库(Microsoft.AspNet.Scaffolding.Mvc.5.0.dll),并在GAC中注册或作为VS扩展 我想覆盖调用T4模板的机制,以便创建不同的文件并增强功能。我的具体需要是构建旧的CreateOrEdit.cshtm

是否有方法添加新的脚手架或覆盖新的Visual Studio 2013脚手架中使用的脚手架功能

我能在互联网上找到的唯一文档是如何使用CodeTemplates文件夹覆盖T4模板。添加…>新脚手架项目。。。在VisualStudio2013中,它似乎已被卷入一个库(Microsoft.AspNet.Scaffolding.Mvc.5.0.dll),并在GAC中注册或作为VS扩展


我想覆盖调用T4模板的机制,以便创建不同的文件并增强功能。我的具体需要是构建旧的CreateOrEdit.cshtml和新的DetailsOrDelete.chtml部分视图。我还想构建一个工具,它接受一个资源文件并以另一种语言生成本地化的资源文件。

在Visual Studio 2013 RTM中,不支持添加完全自定义的脚手架。您只能执行以下自定义操作:

  • 您可以编辑或替代控制器、区域、视图等的现有T4模板
  • 您可以添加将显示在现有MVC视图支架中的自定义视图支架
  • VisualStudio团队正在VisualStudio的未来更新中重新启用自定义架子工支持

    要立即添加自定义视图脚手架,请执行以下操作:

  • 在VS2013中创建任何ASP.NET项目
  • 添加名为
    codemplates
  • 根据自定义视图模板是否为强类型视图,在其中创建名为
    MvcView
    mvcviewwhithoutmodel
    的子文件夹
  • 在那里以
    .t4
    的形式创建一个文件,其中
    是您希望在MVC视图架子工的下拉列表中显示的任何内容,
    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的预览已经可用,可以编写完全定制的脚手架


    查看这篇介绍如何编写自定义脚手架的博文:

    这是Steve Sanderson在大约第50分钟将T4Scaffolding.scaffolder属性更改为T4Scaffolding.ControllerScaffolder的子类的MVC3 update 2中的操作方式,如本视频所示。脚手架——ASP.NET、NuGet、实体框架代码以及更多我相信无论ControllerScaffolderAttribute类做了什么(比如用MVC工具GUI注册它,可能实现GUI选择的一些接口)将在VS 2013中使用新的MVC 5添加控制器对话框。Steve Anderson也有一系列博客,详细介绍了这个过程:Hello@Eilon。首先,谢谢你提供的信息。但是你有什么消息吗?我期待着创建一个CreateOrEdit视图。@RafaelMerlin,如果您只想添加一个现在支持的自定义视图支架。我刚刚在我的回答中添加了一些关于如何做到这一点的信息。谢谢你的回答@Eilon。我能够为CreateOrEdit视图创建一个新模板,这很有帮助。但我的目标是自动生成控制器和所有视图的脚手架。我试图编辑我的控制器以删除细节视图,它对控制器有效(不再生成细节块),但最终生成了细节视图,因此,我认为这可能是一个“锁定”资源。仅供参考:我正在使用VS 2013 Express。@RafaelMerlin是的,不幸的是,您需要编写一个自定义的脚手架文件,这还不受支持,但我们正在处理它。我在我的项目中的“CodeTemplates\MvcView”中添加了一个新的脚手架文件(称为CreateSampleView.cs.tt),但它没有列在“添加视图窗口”中的“脚手架模板”列表中。我还能做些什么使它工作?