我正在使用MEF和Asp.NET MVC 3开发基于插件的应用程序,我想创建一个自定义项目模板,以便在为应用程序创建新插件时为第三方开发人员提供。
我可以轻松地将其导出为项目模板,但由于主机是在ASP.NET MVC 3中开发的,因此在新的Asp.Net MVC 3项目对话框中更合乎逻辑。
有什么想法吗?
答案 0 :(得分:3)
经过一些挖掘和“反思”后,我得到了一个模板,可以在对话框中成功显示。大部分功劳归功于这篇文章:Add custom viewengine to New project dialog?
让它在我的机器上运行的关键(64位)是该帖子中答案中提到的注册表路径。如果你需要的话,我还通过Reflector找到了一个SupportsHTML5键。
以下是我的模板的屏幕截图:
以下是注册表项(MyOwnTemplate节点上还有标题和说明)
答案 1 :(得分:2)
如果查找Visual Studio的模板目录,请查看模板:
MvcWebApplicationProjectTemplatev3.0.cs.zip
(VS Install dir)\ 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>
所以他们有一个自定义向导在这里工作。
这些问题看起来很相似:
Blank Asp.net MVC template
How to write an MVC3 Project Template that will offer option Razor or .aspx views
基本上,他们说向导不是开源的,但您可以编写自己的自定义向导。
编辑:
这里有几页告诉你如何创建自己的向导:
http://msdn.microsoft.com/en-us/library/ms185301.aspx
http://www.codeproject.com/KB/system/create_VS_wizard.aspx
答案 2 :(得分:2)
我刚刚撰写了一篇博客文章,介绍了如何执行此操作,并提供了一个zip文件和一个带有示例的批处理文件。
http://haacked.com/archive/2011/06/06/creating-a-custom-asp-net-mvc-project-template.aspx