为MVC3创建新项目时,我可以选择自定义视图引擎。我可以选择 Razor 和 ASPX 。有没有办法将 Spark 添加到下拉列表中?
答案 0 :(得分:2)
简短的回答是:不,不是真的。
答案很长:是的,但有一个问题,需要注册表编辑。
New Project Dialog
是围绕首先选择projecttemplate然后选择该模板支持的视图引擎的想法而构建的。
其他人已设法将自己的内容添加到此窗口,因此我接受了ASP.NET MVC 3 with xUnit.net Testproject提供的提示,这是另一个第三方扩展,并在注册表中玩了一段时间。
首先,您必须为visual studio创建一个ProjectTemplate,从中可以生成一个干净的Spark项目。为了完整起见,您可以通过创建一个新的Razor项目,为Spark重新连接它然后使用文件菜单导出模板来完成此操作。取消选中此框以在VS中自动注册新导出。我选择保持我的安装简单,并将新模板移动到官方MVC3项目模板所在的位置(对我来说是C:\Program Files (x86)\Microsoft VisualStudio 10.0\Common\IDE\ProjectTemplates\CSharp\Web
)。然后从VS的命令行运行“devenv / setup”以查找并注册新创建的模板。
必须在此添加新对话窗口的自定义添加内容:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Mvc3\ProjectTemplates]
|
|- [MyOwnTemplate]
|- (REG_SZ)Title="Template title"
|- (REG_SZ)Description="Description for the box in the right"
|- [C#]
|- [Spark]
| |- (REG_SZ)Path="CSharp\\Web"
| |- (REG_SZ)Template="YourCustomCSharpSparkTemplate.zip"
| |- (REG_DWORD)SupportsUnitTests=1
|- [Razor]
|- (REG_SZ)Path="CSharp\\Web"
|- (REG_SZ)Template="YourCustomCSharpRazorTemplate.zip"
|- (REG_DWORD)SupportsUnitTests=0
如果您没有使用64位安装,请从打开的注册表节点中删除Wow6432Node密钥。
现在,当您重新启动VS并运行MVC3的“新建项目对话框”向导时,应在其中列出新注册的模板。当您选择自定义projecttemplate时,您应该看到ViewEngine下拉列表显示“Spark”作为当前ViewEngine。
ProjectTemplates下顶部键的New Project Dialog
组模板。由于MVC3没有在注册表中注册其默认模板,因此我们不知道它们被分组到哪个键,因此无法将自己的ViewEngines添加到这些模板中。
答案 1 :(得分:0)
您必须添加T4模板,以添加对其他视图引擎(包括Spark)的支持。这是一个解释它的链接:http://weblogs.asp.net/jacqueseloff/archive/2010/07/30/mvc-3-supporting-custom-view-engines.aspx