2012-06-11 102 views
2

我已經在VS 2010中創建一個多項目模板創建的文件夾結構爲:如何更改項目包含的文件夾名稱在VS 2010的模板

服務1
MyService.Service1.CommunicationLayer
- > MyService.Service1.CommunicationLayer.csproj
MyService.Service1.DataAccessLayer
- > MyService.Service1.DataAccessLayer.csproj
MyService.Service1.ServiceLayer
- > MyService.Service1.ServiceLayer .csproj的

但我需要的結構如下: 服務1
通信
- > MyService.Service1.CommunicationLayer.csproj
數據訪問
- > MyService.Service1.DataAccessLayer.csproj
服務
- > MyService.Service1.ServiceLayer.csproj

而且,我需要我的SolutionFolder名稱設置爲服務1這將是項目用戶提供的名稱。

這裏是.vstemplate文件我使用:

`<!--Outer .vstemplate file --> 
<VSTemplate Version="2.0.0" Type="ProjectGroup" 
    xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"> 
    <TemplateData> 
    <Name>DataAccessService</Name> 
    <Description>Data Access Service Template</Description> 
    <ProjectType>CSharp</ProjectType> 
    <Icon>__TemplateIcon.ico</Icon> 
    <CreateNewFolder>true</CreateNewFolder> 
    <ProvideDefaultName >true</ProvideDefaultName> 
    <DefaultName>DALService</DefaultName> 
    </TemplateData> 
    <TemplateContent> 
    <ProjectCollection> 
     <ProjectTemplateLink ProjectName="MyService.$safeprojectname$.CommunicationLayer">Communication\Communication.vstemplate</ProjectTemplateLink> 
     <ProjectTemplateLink ProjectName="MyService.$safeprojectname$.DataAccessLayer">DataAccess\DataAccess.vstemplate</ProjectTemplateLink> 
     <ProjectTemplateLink ProjectName="MyService.$safeprojectname$.ServiceLayer">Services\Services.vstemplate</ProjectTemplateLink> 
    </ProjectCollection> 
    </TemplateContent> 
</VSTemplate>` 

任何幫助,將不勝感激。

回答

1

好的。所以這裏是我找到的解決方案:

我用TemplateWizard來自定義我的文件夾結構。

  1. 使用默認項目名稱和包含文件夾創建項目。
  2. 使用TemplateWizard創建SolutionFolder。
  3. 從解決方案中刪除項目。
  4. 重命名包含的文件夾。
  5. 添加項目SolutionFolder我在步驟2中創建

希望這可以幫助別人有類似的問題。

+0

哇,這不是一個非常令人滿意的解決方案。 :P – tofutim

+0

嗨,你能否給我更詳細的步驟?謝謝! – user1835297

+0

當你說「使用TemplateWizard」時,你的意思是一個自定義的IWizard實現嗎?你能更具體地瞭解那些代碼是什麼嗎?謝謝 – lesscode

相關問題