通过Visual Studio 2005的项目模板来加速开发过程
| page |
by
| |
| ? | |
| ? | |
| 簡介: | |
記得在我第一次做項目的時候,我就在嘗試找出一種方法來提高項目開始的效率(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 ? 來源:http://blog.csdn.net/vividboy/archive/2009/03/20/4006369.aspx? |
轉載于:https://www.cnblogs.com/qq419524837/articles/1621050.html
總結
以上是生活随笔為你收集整理的通过Visual Studio 2005的项目模板来加速开发过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ARP阻断原理分析
- 下一篇: 动态生成一个继承接口的类