【问题标题】:Add custom viewengine to New project dialog?将自定义视图引擎添加到新项目对话框?
【发布时间】:2011-07-06 09:33:09
【问题描述】:

为 MVC3 创建新项目时,我可以选择自定义视图引擎。我可以在 Razor 和 ASPX 之间进行选择。有没有办法将 Spark 添加到下拉列表中?

【问题讨论】:

    标签: .net asp.net-mvc-3 viewengine


    【解决方案1】:

    您必须添加 T4 模板以添加对其他视图引擎(包括 Spark)的支持。这是一个解释它的链接:http://weblogs.asp.net/jacqueseloff/archive/2010/07/30/mvc-3-supporting-custom-view-engines.aspx

    【讨论】:

    • 我已经添加了这些。我有一个添加到 CodeTemplates 目录的 *.tt 文件列表。但是这些是针对Add view 或New view 对话框的,而不是New project 对话框...
    【解决方案2】:

    简短的回答是:不,不是。

    长答案是:是的,但有一个问题,需要修改注册表。

    New Project Dialog 是围绕首先选择项目模板,然后选择该模板支持的视图引擎的想法构建的。

    其他人已经设法将他们自己的东西添加到这个窗口中,所以我接受了另一个 3rd 方扩展程序 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)。然后从命令行运行“devenv /setup”,让 VS 找到并注册新创建的模板。

    必须在此处添加对新对话窗口的自定义添加:

    [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 的新建项目对话框向导时,新注册的模板应该会在其中列出。当您选择自定义项目模板时,您应该会看到 ViewEngine 下拉菜单显示“Spark”作为当前 ViewEngine。

    New Project Dialog 按 ProjectTemplates 下的顶部键对模板进行分组。由于 MVC3 没有在注册表中注册其默认模板,我们不知道它们被分组在哪个键下,因此无法将我们自己的 ViewEngines 添加到这些模板中。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 2012-11-08
    • 1970-01-01
    相关资源
    最近更新 更多