我正在Visual中创建一个多项目模板,并且我掌握了基本知识,并且运行得很好。
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脚本,等等。
我还没有在网上找到任何能向我展示如何将解决方案文件夹和文件项目包含到我的模板输出解决方案中的东西。我可以很容易地创建解决方案文件夹-但似乎我不能在模板过程中向它们添加任何文件……
还是我错过了一些很简单的东西?有什么想法吗?
发布于 2018-10-10 19:18:15
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”中创建了一个名为"Project 5“的新项目,然后访问了它们上的文件。
Solution Folder 2
Project 3.csproj
File 4.cs
Project 4.csproj
File 5.cs
Project 5.csproj
File 3.cs这个模板创建了解决方案的所有解决方案文件夹、项目和文件。
https://stackoverflow.com/questions/28331155
复制相似问题