通過Visual Studio 2005的項目模板來加速開發過程

 

通過Visual Studio 2005的項目模板來加速開發過程
page

by

Ameet Phadnis
Feedback

 
 

簡介:

記得在我第一次做項目的時候,我就在嘗試找出一種方法來提高項目開始的效率(jump start my projects)。在使用Visual Studio 2003的年代,我在ASPAlliance中寫了一篇文章是基於Visual Studio 2003的模板開發的,這篇文章我看到了一些好的迴應。然後就是Visual Studio 2005發佈了,我接着就受到了一些郵件,其中就有詢問的以前在Visual Studio 2003中介紹的模板使用方法在Visual Studio 2005中是否適用?其實如果在Visual Studio 2005中還使用原來Visual Studio 2003的方法那麼就太複雜了。Visual Studio 2005中建立一種更加便捷、簡單的模板建立方式,當然如果你還是對於我原來針對Visual Studio 2003中使用模板方法感興趣的話你可以通過這個鏈接去查看。

 

背景資料

好了,首先先回答一個問題:我們爲什麼需要使用模板?在一個公司或者項目組中往往會在同時存在很多項目。而且很多項目之間的結構都非常的相似,統一的風格當然對於一個企業和團隊來說是一件好事。在通常,如果不考慮使用模板,那麼我們傳統的做法就是將一些已經存在的工程項目進行拷貝-粘帖,然後再在此基礎上進行修改,但是這種做法不僅效率低,而且在粘帖-複製的過程中,每個項目都有可能對系統的結構進行針對性的調整,那麼經過幾輪項目的修改可能系統結構和最開始的系統結構已經有了很大的處於,並且存在很多沒有用的冗餘數據、代碼,很容易出錯。所以一種比較好的方法是,在項目開始前,我們先依照一種特定的模板將系統的框架先搭建出來,然後我們在再此基礎上進行項目的開發工作。

 

就我們公司的情況(作者所在公司是一家諮詢公司,consulting company),我們也會爲一些服務商(service providers)建立一些系統,這些系統一般都是基於ASP.NET 2.0平臺,具備的功能一般是:

1、用戶登錄;

2、註冊公司;

3、註冊個人,等等。

在這篇文章,我就基於這個需求來說明如何建立一個基於網站項目的模板(create a web template)。

 

 

結構說明:

在我們開始之前,我想先說明一下VS2005的模板結構。在安裝了VS2005以後系統會默認的安裝一些項目/文件項的模板。比如:如果要建立一個網絡應用程序(Web Application)那麼我們可以選擇ASP.NET Web Site、ASP.NET Web Service、Personal Web Site Starter Kit, Empty Web Site 或者 ASP.NET Crystal Reports Web Site等。當我們從Visual Studio 2005中選擇“文件”-> “新建”-> “網站”那麼系統將會展示如圖1所示的對話框。

 

圖1

 

一般地,Visual Studio 2005從以路徑中查找內置模板:

 

【文件安裝路徑】/Common7/IDE/ProjectTemplates/Web/【語言】/【數字】/...

 

如:C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/ProjectTemplates/Web/VisualBasic/1033

 

當你進入對應的文件夾,你會發現每個模板選擇其實在文件夾中都是針對zip格式的壓縮文件。在zip文件中包含了模板建立所需要的所有文件,並有一個以.vstemplate後綴名結尾的文件,這個文件中以XML格式定義了模板中的各項數據,將這些模板文件統一爲一個模板整體,是對模板進行描述的元數據。

 

那麼我們自己建立的模板會放在什麼位置呢?是放在和內置模板同樣的位置嗎?其實不一定,在Visual Studio 2005中可以選擇自定義模板存放的具體位置。這種靈活性有很大的好處,比如你可以將模板放在一個網絡可訪問的目錄下,這種所有項目組或者團隊的成員都可以通過配置地址指向這個網絡地址,從而獲取統一的模板視圖和最新的模板。我們可以通過如下方式來設置Visual Studio 2005中自定義模板的存放位置:

 

1、在Visual Studio 2005中選擇“工具”-> “選項”;

2、展開“項目和解決方案”文件夾;

3、選擇“常規”選項;

4、在右側就可以看到針對“項目模板”、“文件項模板”的位置,可以進行修改。

 

.vstemplate元數據文件

.vstemplate文件內容由如下部門組成。

·         TemplateData - 這個配置節中包含了在選擇模板對話框中模板的信息。

·         Name: 模板名稱.

·         Description: 模板描述信息.

·         Icon: 模板顯示圖標信息.

·         ProjectType: 用於限定模板適用範圍.

·         CSharp: 針對C#語言;

·         VisualBasic: 針對Visual Basic語言;

·         JSharp: 針對J#語言;

·         Web: 針對Web項目,如果ProjectType = web, 那麼可以通過ProjectSubType配置節中設置對應的語言範圍。

·         TemplateContent - 包含了此壓縮包(zip)中包含模板文件的元數據描述信息

·         ProjectCollection: 用於定義包含多個項目的模板文件,其子節點是模板中包含的多個項目文件。

·         Project: 用於列舉一個項目中文件清單,如果是文件項請使用<ProjectItem>配置節,如果是子文件夾請使用<Folder>配直節;

·         References: 用於表示此模板文件中需要包含的默認引用;

·         ProjectItem: 用於表示模板文件中文件項,如:.aspx, .cs文件;

·         CustomParameters: 用於設定用戶自定義的動態替換的佔位符信息。

·         WizardExtension - 用於設置模板嚮導擴展對應的程序集及對應的操作類.

·         WizardData - 這裏中間包含的內容將作爲替換值$wizardData$的替換信息.

 

這篇文章將着重關注TemplateData, TemplateContent兩個配直節,WizardExtension和WizardData在此文章中並不進行涉及,我將在我以後文章中着重介紹後面兩個配置節。

建立項目模板:

在我原來那篇介紹在VS 2003平臺下建立模板的文章,許多使用者會發現那其實是一個蠻複雜的過程。但是現在在VS2005的平臺下,這個複雜的過程變成了5個間的步驟:

 

·         先正常的建立一個項目;

·        在項目中添加對應的文件(按照你需要形成的模板具有哪些文件的需求。)

·        保存所做的改動;

·         從菜單中選擇“文件”-> “導出模板”;

·         導出模板嚮導會啓動,並一步一步的指導用戶完成模板的建立和安裝。

 

【注意】:有些用戶可能從“文件”菜單中看不到“導出模板”的子菜單。你可能需要通過以下步驟進行添加:

 

·         鼠標右擊VS2005的菜單欄空白處,然後選擇“自定義...”;

·         然後選擇“命令”選項卡;

·         在左側的欄目中選擇“文件”,然後右側會列舉所有“文件”菜單下的子菜單項;

·         然後選擇“導出模板...” 菜單然後拖拽到左側“文件”菜單上。

 

好了,我們現在開始着手建立模板,首先我們建立一個web網站,然後中間添加了一些模板中需要包含的文件內容,具體的文件格式在資源管理器中查看是圖2的樣子。

 

圖2

 

現在我們就建立基於以上面這個web項目的模板。

 

·         首先點擊“文件”菜單,然後選擇“導出模板...”;

·         然後就會彈出如圖3所示的模板導出嚮導。

 

圖3

·         按照如下步驟進行選擇:

·       首先選擇“Project Template”單選框,然後系統會列舉當前所有的項目,我們現在就一個網站項目(web application)所以默認會選擇這個網站項目;

·       然後模板對應的語言,如:C#, Visual Basic, J#;

·         點擊下一步;

·         然後選擇模板在對話框中顯示的信息,如圖4所示:

 

圖 4

·         需要選擇的項有:

·         Template Icon (模板圖標) - 這個是現實在選擇模板的圖標文件;

·         Template Name (模板名稱)- 針對<TemplateData>配置節中的<Name>子配置節,顯示模板的名稱;

·         Template Description (模板描述)- 針對<TemplateData>配置節中的<Description>子配置節,顯示模板的說明信息;

·         Automatically import the template into Visual Studio (自動在Visual Studio中導入自定義模板) - 如果這個選擇了這個選項的複選框,那麼生成的模板將被自動拷貝一份到你在Visual Studio中設置的自定義模板存放路徑,這樣在添加新的項目時就可以選擇對應的項了;

·         Display an explorer window on the output files folder (自動打開生成的模板文件所在目錄)- 自動打開生成的模板文件所在的目錄。

·         點擊“完成”按鈕.

 

生成文件項模板:

Steps 生成文件項模板的過程和項目模板的過程基本相似,這裏僅僅對不同的地方進行描述,我們以導出CompanyRegistrationInfo類文件爲例:

1、同樣是先選擇導出的模板類型,這裏需要選擇文件項模板(Item Template),並選擇需要導出項所在的項目,及適用的語言:

圖 5

 

然後從列舉的文件列表中選擇需要到處模板的文件,比如我們這裏選擇CompanyRegistrationInfo.vb,

由於CompanyRegistrationInfo.vb和CompanyRegistrationInfo.aspx的文件具有關聯關係,那麼在導出的時候CompanyRegistrationInfo.aspx也會被作爲模板的一部分進行導出,如圖6所示:

 

圖 6

然後要選擇一下導出文件項模板需要的引用,這個選擇過程在“項目模板”的過程中是沒有的,因爲項目本身可以通過bin文件中的依賴關係進行自動的辨別,但是針對項目中的某一項的依賴項系統將無法進行辨別,這樣就需要人工選擇。

 

 

使用項目或者文件項模板:

好了,有了模板就要使用它了,如何使用自定義的模板呢?

沒啥特別的步驟,你在添加新項或者新的項目時就可以從“我的模板”中顯示自定義的模板項,如圖8、圖9所示:

 

圖8

 

圖 9

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章