我正在使用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时没有任何反复发生..
答案 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自定义脚手架模板的方法:
直接在项目文件夹中创建名为“CodeTemplates”的文件夹。
转到下面的路径,找到MvcControllerWithActions文件夹全部复制到文件夹“CodeTemplates”
C:\Program Files (x86)\Microsoft Visual Studio 12.0\
Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates
转到CodeTemplates - >您项目中的MvcControllerWithActions。
MvcControllerWithActions中有两个文件Controller.cs.t4
和Controller.vb.t4
,如果使用C#,则可以删除Controller.vb.t4
。
打开Controller.cs.t4
文件,将Controller名称修改为BaseController,如下所示:
public class <#= ControllerName #> : BaseController
{
}
现在,当您尝试使用“添加新脚手架项目”创建MVC5控制器时,它将使用您自定义的模板。
希望它有所帮助。
答案 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
文件夹。
您需要复制MvcView
和MvcControllerWithContext
个文件夹,以便与 MVC 5控制器一起使用视图,使用EntityFramework 命令。
<强>注意强>
两个目录必须具有相同的文件夹结构。我的意思是,不要将Create.cs.t4
文件夹中的MvcView
直接复制到CodeTemplates
文件夹中。只需将整个MvcView
文件夹复制到CodeTemplates
文件夹中。
不要删除包含文件,例如Imports.include.t4
和ModelMetadataFunctions.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