當爲MVC3創建新項目時,我可以選擇一個自定義的viewengine。我可以選擇剃刀和ASPX。有沒有辦法將Spark添加到下拉列表中?添加自定義viewengine到新建項目對話框?
回答
簡短的回答是:不,不是真的。
長的答案是:是的,但有一個問題,它需要註冊表編輯。
New Project Dialog
圍繞着先選擇項目模板然後選擇該模板支持的視圖引擎的想法而構建。
其他人已成功將自己的東西添加到此窗口中,因此我採用了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的新建項目對話框嚮導時,應在其中列出新註冊的模板。當您選擇自定義項目模板時,您應該看到ViewEngine下拉菜單顯示「Spark」作爲當前ViewEngine。
New Project Dialog
使用ProjectTemplates下的頂級模板對模板進行分組。由於MVC3沒有在註冊表中註冊它的默認模板,我們不知道它們被分組到哪個鍵上,因此不能將我們自己的ViewEngine添加到這些模板中。
您必須添加T4模板,添加對其他視圖引擎(包括Spark)的支持。這裏有一個鏈接解釋它:http://weblogs.asp.net/jacqueseloff/archive/2010/07/30/mvc-3-supporting-custom-view-engines.aspx
我已添加這些。我有一個添加到'CodeTemplates'目錄的* .tt文件列表。但是,這些是用於「添加視圖」或「新視圖」對話框,而不是「新建項目」對話框... – Ropstah 2011-03-02 08:41:56
- 1. 在Visual Studio安裝項目中添加自定義對話框
- 2. 自定義設置項目對話框
- 3. 如何爲分項疊加項目創建自定義對話框?
- 4. 添加自定義項目到TShellTreeView
- 5. ASPMVC試圖顯示對話框將新項目添加到Combobox
- 6. 如何在新的Asp.Net MVC 3項目對話框中添加自定義的項目模板?
- 7. 將自定義圖像添加到對話框
- 8. 將自定義方法添加到UI對話框插件
- 9. 如何將圖像添加到自定義的WiX對話框?
- 10. 將按鈕添加到自定義對話框的佈局(dialog.xml)
- 11. 如何將標題添加到自定義對話框?
- 12. 將自定義HTML添加到jQuery對話框按鈕窗格
- 13. 將陰影添加到自定義對話框
- 14. 如何在添加新項目對話框中找到WPF自定義控件模板?
- 15. 在自定義項目類型中添加新項目
- 16. 圖像未添加到項目添加到自定義列表
- 17. 創建自定義jframe對話框
- 18. 創建自定義對話框
- 19. 試圖創建自定義對話框
- 20. 如何創建自定義對話框
- 21. 以mfc創建自定義對話框
- 22. 獲取新項目添加到自定義類的Observable集合
- 23. 自定義ViewEngine ASP.NET MVC 3
- 24. 自定義對話框:自定義視圖中的參考項目
- 25. 自定義onbeforeunload對話框
- 26. iOS自定義對話框
- 27. android自定義對話框
- 28. Android自定義對話框
- 29. beforeunload自定義對話框
- 30. 自定義對話框XML
我懷疑你有內幕消息......我將在週末查看此消息。感謝你的回答! – Ropstah 2011-03-30 07:54:18
這個答案現在已過時。請參閱 http://haacked.com/archive/2011/06/06/creating-a-custom-asp-net-mvc-project-template.aspx – 2011-06-14 08:11:47