開發的初期,如果能自訂一個開發用的 Project template,之後所有的專案都能使用該 template,就能產出類似的產品。因此,會有相當的效益。
而在 Visual Studio 2008 上製作一個 Project Template 可以說是極為簡單的。
基本
現在來看一下已經存在的Project template 會在哪裡呢?請到 C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033 下尋找。我的是 Windows 7 x64 + 且裝Visual Studio 2008 英文版。我習慣使用c#,此範例將 study web application,故路徑可能與讀者的不同。
下圖列出的,就是使用 Visual Studio 2008 開發 Web 時所出現的項目
將其中一個最新的 MVC 2.0 的 MvcWebApplicationProjectTemplatev2.0.cs.zip 來解壓出來看一下吧。毫不意外地,裡頭是 MVC 2.0 習慣看到的檔案,外加一個 vstemplate 檔。
將這個 vstemplate 檔案以 notepad 打開來看一下,發現是一個簡單易懂的 xml 檔。詳細的 schema 可參考 Visual Studio Template Schema Reference。再打開 Global.asax.cs,裡頭的程式碼就是我們平常看到的 mvc RegisterRoutes 。注意一下反白的 $globalclassname$ 這個參數。原來以 Project template 產生一個 Project 時, Visual Studio 只是以很簡單的方式將一些參數置換掉而已。預設可以使用的參數請參考Template Parameters
實作
要產生一個 project template 也真的很簡單,Visual Studio 已經幫我們想到了。
首先新增一個 WebApplication 專案,並且增加一個Vender.aspx 網頁,裡頁寫公司的名稱。
我的美工能力當然不在話下啦!嗚。
現在我們就把這樣的內容要製作成 project template 了。使用 File/Export Template,選擇 Project template
修改Template name 為 CCWebApplication後,按 Finish 鍵。
接著,Visual Studio 會產生一個 CCWebApplication.zip 到
Documents\Visual Studio 2008\Templates\ProjectTemplates\ 下,此處為正式的位置,同時也會產生一份到 Documents\Visual Studio 2008\My Exported Templates 下。
之後,新增 Project 時就可以在 MyTemplate 下找到 CCWebApplication了。
新增專案後,就是一個一模一樣的專案了。
結論
這樣的過程,可以很快地產生一個Project。 但是很可惜的是,無法產出一個 solution,這是將來要努力的地方。
沒有留言:
張貼留言