繼上一個自訂 Visual Studio Project Template (1),接下來說明的是多專案的 template.
通常,一個 project template 只會產生一個專案。但最適當的結構,卻是一個解決方案(Solution),至少分個三層(3-layer)。以下僅以兩個專案的 solution 來作為範例。
如上一次的例子,這一次多了一個 BusinessComponents的 class library(類別庫)。而 WebApplication4會 reference 到 BusinessComponents
分別將 BusinessComponents 及 WebApplication4以上一次的方法匯出 project template。解壓縮zip檔後,在 My Exported template 目錄下,增加一個 MyTemplate.vstemplate 及 __TemplateIcon.ico 檔。結構如下圖(已將 zip 檔刪除掉)
檔案結構看來如下
Directory \Documents\Visual Studio 2008\My Exported Templates
2010/01/12 上午 11:38 <DIR> CCBusinessComponents
2010/01/12 上午 11:38 <DIR> CCWebApplication
2010/01/12 下午 03:45 714 MyTemplate.vstemplate
2003/05/06 下午 03:49 5,430 __TemplateIcon.ico
Directory \Documents\Visual Studio 2008\My Exported Templates\BusinessComponents
2010/01/12 上午 11:36 235 Class1.cs
2010/01/12 上午 11:36 2,510 ClassLibrary1.csproj
2010/01/12 上午 11:36 1,128 MyTemplate.vstemplate
2010/01/12 上午 11:36 10,134 __TemplateIcon.ico
Directory \Documents\Visual Studio 2008\My Exported Templates\CCWebApplication
2010/01/12 上午 11:36 452 Default.aspx
2010/01/12 上午 11:36 323 Default.aspx.cs
2010/01/12 上午 11:36 772 Default.aspx.designer.cs
2010/01/12 上午 11:36 1,854 MyTemplate.vstemplate
2010/01/12 上午 11:36 749 Vender.aspx
2010/01/12 上午 11:36 468 Vender.aspx.cs
2010/01/12 上午 11:36 1,141 Vender.aspx.designer.cs
2010/01/12 上午 11:36 7,868 Web.config
2010/01/12 上午 11:36 4,755 WebApplication4.csproj
2010/01/12 上午 11:36 10,134 __TemplateIcon.ico
簡單來說,就是 solution folder + 下面的 project folder。每個 folder 都要有 .vstemplate 檔案。project folder 可以使用 project template 的 zip 來解壓縮即可。而 solution folder 下的 .vstemplate 就必須就必須自行編輯。如下範例
<?xml version="1.0"?> <VSTemplate xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Version="2.0.0" Type="ProjectGroup"> <TemplateData> <Name>CCWebWebSolution</Name> <Description>CC web solution starter template</Description> <Icon>__TemplateIcon.ico</Icon> <ProjectType>CSharp</ProjectType> <ProjectSubType>Web</ProjectSubType> </TemplateData> <TemplateContent> <ProjectCollection> <ProjectTemplateLink ProjectName="WebSite">CCWebApplication\MyTemplate.vstemplate</ProjectTemplateLink> <ProjectTemplateLink ProjectName="BusinessComponents">BusinessComponents\MyTemplate.vstemplate</ProjectTemplateLink> </ProjectCollection> </TemplateContent> </VSTemplate>
重點放在結構上。不難的。
在檔案總管上選取所有檔案,傳送到壓縮檔並取名為 CCWebSolutionTemplate.zip,並複製到 \Documents\Visual Studio 2008\Templates\ProjectTemplates 下。
重新啟動 Visual Studio 2008, 新增專案時,就可以看到我們的 template 了
可參考 msdn 的說明 HOW TO:建立多專案的範本
範例下載
沒有留言:
張貼留言