如何在新的Asp.Net MVC 3项目对话框中添加自定义项目模板?

问题描述

| 我正在使用MEF和Asp.NET MVC 3开发基于插件的应用程序,我想创建一个自定义项目模板,以便在为应用程序创建新插件时为第三方开发人员提供模板。 我可以轻松地将其导出为项目模板,但是由于主机是在ASP.NET MVC 3中开发的,因此在新的Asp.Net MVC 3项目对话框中似乎更加合乎逻辑。 有任何想法吗?     

解决方法

经过一些挖掘和“反思”之后,我得到了一个模板,可以成功显示在对话框中。大多数功劳都归功于这篇文章:将自定义viewengine添加到“新建项目”对话框吗? 使它在我的机器(64位)上运行的关键是该帖子答案中提到的注册表路径。我还通过Reflector发现,如果您需要的话,也有SupportsHTML5键。 这是我的模板的屏幕截图: 这是注册表项(MyOwnTemplate节点上还有标题和描述)     ,如果您查找Visual Studio的模板目录,然后检出模板: MvcWebApplicationProjectTemplatev3.0.cs.zip (VS安装目录)\\ Common7 \\ IDE \\ ProjectTemplates \\ CSharp \\ Web \\ 1033 这里要看的是这一行:
<WizardExtension>
    <Assembly>Microsoft.VisualStudio.Web.Mvc.3.0,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35</Assembly>
    <FullClassName>Microsoft.VisualStudio.Web.Mvc.UserInterface.MvcTemplateWizard</FullClassName>
</WizardExtension>
因此,他们有一个自定义向导在这里工作。 这些问题看起来很相似: 空白的Asp.net MVC模板 如何编写将提供选项Razor或.aspx视图的MVC3项目模板 基本上,他们说该向导不是开源的,但您可能会编写自己的自定义向导。 编辑: 这是几个页面,告诉您如何创建自己的向导: http://msdn.microsoft.com/en-us/library/ms185301.aspx http://www.codeproject.com/KB/system/create_VS_wizard.aspx     ,我刚刚写了一篇博客文章,介绍了如何执行此操作,并提供了一个zip文件和一个批处理文件以及示例。 http://haacked.com/archive/2011/06/06/creating-a-custom-asp-net-mvc-project-template.aspx