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

时间:2013-11-17 23:02:20

标签: asp.net-mvc .net-4.0 scaffolding asp.net-mvc-5 asp.net-mvc-scaffolding

我正在使用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时没有任何反复发生..

4 个答案:

答案 0 :(得分:18)

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

C:\Program Files (x86)\Microsoft Visual Studio 12.0\
Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates

以下是我为BaseController自定义脚手架模板的方法:

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

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

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

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

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

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

  7. 希望它有所帮助。

答案 1 :(得分:3)

MVC4和MVC5模板位于不同的位置。虽然MVC4模板位于您提供的文件夹中,但MVC5模板位于此文件夹中:

C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Web \ Mvc \ Scaffolding \ Templates

自定义操作需要创建名为CodeTemplates项目文件夹的文件夹,并将要自定义的模板复制到CodeTemplates文件夹。

您需要复制MvcViewMvcControllerWithContext个文件夹,以便与 MVC 5控制器一起使用视图,使用EntityFramework 命令。

<强>注意

  • 两个目录必须具有相同的文件夹结构。我的意思是,不要将Create.cs.t4文件夹中的MvcView直接复制到CodeTemplates文件夹中。只需将整个MvcView文件夹复制到CodeTemplates文件夹中。

  • 不要删除包含文件,例如Imports.include.t4ModelMetadataFunctions.cs.include.t4,因为其他文件需要它们。

  • 如果您正在使用C#,请随时删除.vb.t4分机的文件,反之亦然。

答案 2 :(得分:2)

MVC5 T4模板位于C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ VWDExpressExtensions \ Microsoft \ Web \ Mvc \ Scaffolding \ Templates \ MvcView

答案 3 :(得分:2)

VS 2015模板中找到:

  

C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Web \ Mvc \ Scaffolding \ Templates \ MvcView