如何在ASP.NET MVC5中创建自定义脚手架模板?

Rom*_*man 10 asp.net-mvc scaffolding .net-4.0 asp.net-mvc-scaffolding asp.net-mvc-5

我正在使用ASP.NET MVC5和VS2013

我试过复制CodeTemplates文件夹

C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\Common7\IDE\VWDExpress\ItemTemplates\CSharp\Web\MVC 4\CodeTemplates

使用子文件夹"AddController","AddView"和T4模板,然后我修改了一些模板,但是当我尝试添加View或Controller时没有任何反应.

Lin*_*Lin 18

首先,您的计算机上安装了Visual Studio 2013和2012.我试着查看你提供的路径,我找不到它.在您的路径上,您似乎正在尝试使用MVC4模板.这是我的路径:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\
Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates
Run Code Online (Sandbox Code Playgroud)

下面是我如何为BaseController定制我的脚手架模板:

  1. 直接在项目文件夹中创建名为"CodeTemplates"的文件夹.

  2. 转到下面的路径,找到MvcControllerWithActions文件夹全部复制到文件夹"CodeTemplates"

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\
    Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates
    
    Run Code Online (Sandbox Code Playgroud)
  3. 转到项目中的CodeTemplates - > MvcControllerWithActions.

  4. 有两个文件,Controller.cs.t4Controller.vb.t4在MvcControllerWithActions,如果使用C#,您可以删除Controller.vb.t4.

  5. 打开Controller.cs.t4文件,将Controller名称修改为BaseController,如下所示:

    public class <#= ControllerName #> : BaseController
    {
    }
    
    Run Code Online (Sandbox Code Playgroud)
  6. 现在,当您尝试使用"添加新脚手架项目"创建MVC5控制器时,它将使用您自定义的模板.

希望能帮助到你.