13

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

自定义脚手架选项

默认情况下,对话框中的"MVC5 Controller with views, using Entity Framework"选项 3 选择"CodeTemplates\MvcControllerWithContext\Controller.cs.t4",即 t4 再次以视图 t4 模板为目标

  • “代码模板\MvcView\ModelMetadataFunctions.cs.include.cs.t4”
  • “代码模板\MvcView\Create.cs.t4”
  • “代码模板\MvcView\Edit.cs.cs.t4”
  • “代码模板\MvcView\Delete.cs.cs.t4”
  • “代码模板\MvcView\List.cs.cs.t4”

可视化

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

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

任何答案将不胜感激。谢谢你。

4

1 回答 1

8

在继续使用 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

更新

团队的 David Fowler 现在 (29-04-2015) 确认单文件生成器将在 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

于 2015-04-27T14:31:04.043 回答