2012-06-11 68 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

相关问题