VS2017社区创建新的脚手架

时间:2017-07-20 19:31:13

标签: c# asp.net-mvc visual-studio entity-framework

我想在VS2017社区中为MVC5项目(不使用.NET Core)中的控制器和视图开发我自己的自定义脚手架,但我遇到了一些麻烦。

我已将模板从此位置复制到 CodeTemplates 下的项目中:

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

但是,我不想修改现有的模板,而是创建我自己的新模板。

如果我尝试在 CodeTemplates 下添加t4模板,例如 MyController \ Controller.cs.t4 AddController \ MyController \ Controller.cs.t4 ,如果我尝试右键单击我的Controllers文件夹并添加新的控制器新的脚手架项,它将不会显示为菜单中的选项。< / p>

首先,如果我构建类似Controller.cs.t4的东西,如何从中创建一个新文件,如HelloWorldController.cs?似乎无法找到在哪里看。这些都是好文章,但是我很难找到如何让t4模板生成不同的文件名,比如VS.

https://msdn.microsoft.com/en-us/library/dd820620.aspx

https://msdn.microsoft.com/en-us/library/bb126478.aspx

我想基本上做的是右键单击一个模型,单击VS中的上下文菜单按钮,并让它调用一些代码,我将编写该代码,通过Reflection查看模型的公共函数,并在程序上生成它使用我自己的模板控制器和视图,并将它们放在适当的子文件夹中。

我可能还希望它包含与其他控件的对话框,就像使用EF上下文时现有的Scaffolding菜单选项一样。查看涉及EF Context的现有模板,他们称之为:

<#@ ScaffoldingAssembly Processor="ScaffoldingAssemblyLoader" #>

我不确定它在哪里以及如何创建我自己的并引用它是一个问题。

我可能还想要CodeTemplates \ MvcView下存在的完全独立的模板实现,它可能成为SPA页面的部分视图,允许我通过AJAX调用CRUD方法,而不是在自己的页面上调用它。

这已经失控了,我不确定这实际上是一个问题还是多个问题。我基本上要求一个基本功能,但它似乎由几个问题组成:如何在设计时将T4 C#模板处理成新文件名,如何使用VS理解的一些代码(这是否需要VISX)知识?)并生成必要的对话框来设置参数并运行必要的T4模板来创建文件,以及如何将其添加到标准MVC项目右键单击上下文菜单(VISX是解决方案吗?)。我一直在询问VISX,因为当我在VISX项目中查看“自定义命令”时,它说它想要将它添加到“工具”菜单中,我不希望它在那里但是在Project的上下文菜单中与控制器一样,只是运行工具 - &gt;定制

我刚刚开始研究VISX,对此感到非常兴奋,但当然还有很多内容。

0 个答案:

没有答案