如何防止解决方案文件夹标记在解决方案中创建目录(文件夹)?

时间:2012-11-19 06:17:33

标签: visual-studio-2010 visual-studio-templates

我正在尝试创建多项目模板。我按照http://msdn.microsoft.com/en-us/library/ms185308.aspx说明操作,但是使用以下结构,它为“Core”和“Web”创建了文件夹。我需要将解决方案文件夹添加为虚拟文件夹,因为它们并非真正在Filesystem中创建,而解决方案文件夹中的项目只是与.sln文件位于同一文件夹中。

<VSTemplate Version="2.0.0" Type="ProjectGroup"
    xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
    <TemplateData>
        <Name>DT.WhiteLabel</Name>
        <Description>Dt digital White label project</Description>
        <Icon>dt.png</Icon>
        <ProjectType>CSharp</ProjectType>
    </TemplateData>
    <TemplateContent>
        <ProjectCollection>
     <SolutionFolder Name="Core">
          <ProjectTemplateLink ProjectName="DT.Data">
              DT.Data\MyTemplate.vstemplate
          </ProjectTemplateLink>
          <ProjectTemplateLink ProjectName="DT.Services">
              DT.Services\MyTemplate.vstemplate
          </ProjectTemplateLink>
       </SolutionFolder>
       <SolutionFolder Name="Web">
          <ProjectTemplateLink ProjectName="DT.Web.MVC">
              DT.Web.MVC\MyTemplate.vstemplate
          </ProjectTemplateLink>
      </SolutionFolder>
          <ProjectTemplateLink ProjectName="DT.ExportCSV">
              DT.ExportCSV\MyTemplate.vstemplate
          </ProjectTemplateLink>  
        </ProjectCollection>
<WizardExtension>

    <Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
    <FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName>
</WizardExtension>
<WizardData>
  <packages  repository="extension" repositoryId="DT.WhiteLabel..7c9d41b1-2f6e-4210-9340-a5bfc00f4800">
  <package id="AutoMapper" version="2.2.0" />
  <package id="elmah.corelibrary" version="1.2.2" />
  <package id="Elmah.MVC" version="2.0.2" />
  <package id="EntityFramework" version="4.1.10331.0" />
  <package id="ICSharpCode.SharpZipLib.dll" version="0.85.4.369" />
  <package id="jQuery" version="1.5.1" />
  <package id="jQuery.UI.Combined" version="1.8.11" />
  <package id="jQuery.Validation" version="1.8.0" />
  <package id="jQuery.vsdoc" version="1.5.1" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
  <package id="Modernizr" version="1.7" />
  <package id="Ninject" version="3.0.1.10" />
  <package id="Ninject.MVC3" version="3.0.0.6" />
  <package id="Ninject.Web.Common" version="3.0.0.7" />
  <package id="WebActivator" version="1.5.2" />
  </packages>
</WizardData>
    </TemplateContent>

</VSTemplate>

enter image description here

我正在寻找

enter image description here

我现在得到的是什么 enter image description here

1 个答案:

答案 0 :(得分:0)

此帖也超过6个月,我认为我的回答对其他人有用。 我用向导解决了这个问题,我在“Run Finished”方法中创建了所需的解决方案文件夹。在此之后,我将项目全名保存在字符串列表中,并从解决方案中删除它们。然后我借助保存的全名将项目添加到解决方案文件夹中。它可能很复杂,但它有效;-) 我认为创建向导的好教程是http://www.bluelemoncode.com/post/2012/01/05/Creating-custom-project-and-file-template-with-wizard-for-Visual-Studio.aspxhttp://www.codeproject.com/Articles/15268/How-to-Create-Your-own-Visual-Studio-Wizard