包含文件的解决方案文件夹的多项目Visual Studio模板

时间:2015-02-04 20:49:48

标签: visual-studio-2013 visual-studio-templates

我正在Visual Studio中创建一个多项目模板,并且我已经掌握了基础知识并且运行得非常好。

MySolution.vstemplate

<VSTemplate Version="2.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
   <TemplateData>
      <Name>My standard .NET solution</Name>
      <Description>My standard .NET solution</Description>
      <Icon>myicon.ico</Icon>
      <ProjectType>CSharp</ProjectType>
      <DefaultName>Customer.Project</DefaultName>
      <SortOrder>5000</SortOrder>
  </TemplateData>
  <TemplateContent>
     <ProjectCollection>
        <SolutionFolder Name=".nuget">
            .... here I'd like to link to a few on-disk files to be included ......
        </SolutionFolder> 
        <SolutionFolder Name="Batchjobs">
           <ProjectTemplateLink ProjectName="$safeprojectname$.Batchjob">My batchjob\MyBatchjob.vstemplate</ProjectTemplateLink>
        </SolutionFolder> 
        <SolutionFolder Name="build">
            .... here I'd like to link to a few on-disk files to be included ......
        </SolutionFolder> 
        <SolutionFolder Name="Testing">
             <ProjectTemplateLink ProjectName="$safeprojectname$.IntegrationTests">MyIntegrationTests\MyIntegrationTests.vstemplate</ProjectTemplateLink>
             <ProjectTemplateLink ProjectName="$safeprojectname$.UnitTests">MyUnitTests\MyUnitTests.vstemplate</ProjectTemplateLink>
        </SolutionFolder> 
     </ProjectCollection>
  </TemplateContent>
</VSTemplate>

然而:我正在尝试使用几个包含的项目创建的解决方案实际上还有几个解决方案文件夹,它们对应于磁盘上的目录,并且包含一些文件;一个用于NuGet,另一个用于构建过程的配置和PowerShell脚本,等等。

我无法在网上找到任何能告诉我如何在我的模板化输出解决方案中包含解决方案文件夹和文件项的内容。我可以轻松创建解决方案文件夹 - 但似乎我无法在模板化过程中向他们添加任何文件.....

或者我错过了一些非常简单的东西?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

VSProjectTemplate无法执行此操作。您只需在项目内部添加带有项目和文件的SolutionFolders。就我而言,我确实解决了在解决方案中创建另一个项目以将解决方案文件夹的文件分组的问题,然后修改了我的解决方案以引用新项目上的文件,而不是从解决方案文件夹中引用文件,然后导出了完整的解决方案。

Solution Folder 1
    Project 1.csproj
        File 1.cs
    Project 2.csproj
        File 2.cs

Solution Folder 2
    File 3.cs
    Project 3.csproj
        File 4.cs
    Project 4.csproj
        File 5.cs

我在“解决方案文件夹2”中创建了一个名为“项目5”的新项目,然后访问了其中的文件。

Solution Folder 2  
    Project 3.csproj
        File 4.cs
    Project 4.csproj
        File 5.cs
    Project 5.csproj
        File 3.cs

这是模板创建的所有解决方案文件夹,项目和解决方案文件。