【问题标题】:Multi-project Visual Studio template with solution folders containing files具有包含文件的解决方案文件夹的多项目 Visual Studio 模板
【发布时间】:2015-02-04 20:49:47
【问题描述】:

我正在 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 脚本,等等。

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

或者我在这里遗漏了一些非常简单的东西?有什么想法吗?

【问题讨论】:

  • 偶然发现了同样的问题,你解决了吗?
  • @KonstantinChernov:不,很遗憾没有

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


【解决方案1】:

VSProjectTemplate 无法做到这一点。您只需在项目中添加带有项目和文件的解决方案文件夹。就我而言,我确实解决了在我的解决方案中创建另一个项目以对解决方案文件夹的文件进行分组,然后修改我的解决方案以引用新项目中的文件而不是解决方案文件夹中的文件,然后导出完整的解决方案。

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

模板创建了解决方案的所有解决方案文件夹、项目和文件。

【讨论】:

    猜你喜欢
    • 2019-06-05
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    相关资源
    最近更新 更多