ASP.NET MVC 5自定义脚手架选项[t4模板]

Md.*_*rim 13 asp.net-mvc t4 asp.net-mvc-3 asp.net-mvc-scaffolding t4scaffolding

目前,我正在开发一个框架,我想在visual studio菜单中添加自定义脚手架选项.

自定义脚手架选项

默认情况下,"对话框中带有视图的MVC5控制器,使用实体框架"选项3选择"CodeTemplates\MvcControllerWithContext\Controller.cs.t4",t4再次定位内部视图t4模板

  • "CodeTemplates\MvcView\ModelMetadataFunctions.cs.include.cs.t4"
  • "CodeTemplates\MvcView\Create.cs.t4"
  • "CodeTemplates\MvcView\Edit.cs.cs.t4"
  • "CodeTemplates\MvcView\Delete.cs.cs.t4"
  • "CodeTemplates\MvcView\List.cs.cs.t4"

可视化

我已经修改了t4模板差不多一年了,我还没有发现一条证据表明它是如何针对这些视图或者如何在脚手架对话框中添加选项.我搜索了很多,但是没有找到任何接近的东西.

总之,我只是在寻找可以添加或修改这些t4模板位置的地方,并在脚手架对话框中添加新脚手架的引用.

任何答案都将非常感激.谢谢.

dmc*_*gin 7

在继续使用T4实现框架之前,您应该知道ASP.Net vNext团队已经从MVC6项目中悄悄地放弃了对T4的支持,因此除非做出相反的决定,否则您将无法升级框架.

从Visual Studio 2015 CTP6开始,MVC6项目不支持单文件生成器,这是T4的要求.ASP.Net vNext团队提供的原因在ASP.Net的官方GitHub存储库中有所描述.

https://github.com/aspnet/Home/issues/272

UPDATE

该团队的David Fowler现已(2015年4月29日)确认MVC6将支持单文件生成器,而MVC6则应支持T4.

更新2

要回到关于使用自定义代码模板进行脚手架的主题的原始问题,MVC6和Visual Studio 2015尚未最终确定.

我在上面提到的ASP.Net GitHub问题跟踪器线程上提出了这个问题; Sayed Ibrahim Hashimi(MSFT)回复说,将会讨论哪些技术和实施将被遵循,目前主要候选人是T4或Razor发电机.

Sayed指出下面的文章显示了一些早期的想法,但强调这还没有最终确定,人们不应该花时间投资这种方法,因为它可能会改变.

http://blogs.msdn.com/b/webdev/archive/2014/08/23/how-to-customize-scaffolding-templates-for-asp-net-vnext.aspx

  • **更新**团队的David Fowler现已确认MVC6将支持单文件生成器*,而MVC6则支持T4. (3认同)
  • 我只能说我希望不是这样 - 请阅读我链接的讨论,因为技术上可以在MVC6中获得T4支持.看来团队出于某种原因认为这不重要.我和斯科特·汉塞尔曼(Scott Hanselmann)一起提出了这个问题,斯科特·汉塞尔曼说他将在Build会议之后对此进行调查,并且ASP.Net vNext团队说"看这个空间".如果他们认为人们不想将T4与MVC6一起使用,那么他们就不会打扰,所以我建议让团队知道你的意见. (2认同)