SolutionFolder Element (Visual Studio Templates)
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Groups projects in multi-project templates.
<VSTemplate> <TemplateContent> <ProjectCollection> <SolutionFolder>
Syntax
<SolutionFolder Name="DirectoryName">
...
</SolutionFolder>
Attributes and Elements
The following sections describe attribute, child elements, and parent elements.
Attributes
Attribute | Description |
---|---|
Name |
Required attribute. The name of the solution folder. |
Child Elements
Element | Description |
---|---|
ProjectTemplateLink | Optional element. Specifies the path to the .vstemplate file of one project in a multi-project template. |
SolutionFolder |
Optional element. Groups projects in multi-project templates. |
Parent Elements
Element | Description |
---|---|
ProjectCollection | Specifies the organization and contents of multi-project templates. |
SolutionFolder |
Groups projects in multi-project templates. |
Remarks
Multi-project templates act as containers for two or more projects. The SolutionFolder
element is used to organize the projects in the template into groups. The folders specified by SolutionFolder
elements are created as solution folders in the project in Visual Studio. For more information on multi-project templates, see How to: Create Multi-Project Templates.
Example
This example uses the SolutionFolder
element to divide the multi-project template into two groups, Math Classes
and Graphics Classes
. The template contains four projects, two of which are placed in each solution folder.
<VSTemplate Version="3.0.0" Type="ProjectGroup"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>Multi-Project Template Sample</Name>
<Description>An example of a multi-project template</Description>
<Icon>Icon.ico</Icon>
<ProjectType>VisualBasic</ProjectType>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<SolutionFolder Name="Math Classes">
<ProjectTemplateLink ProjectName="MathClassLib1">
MathClassLib1\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="MathClassLib2">
MathClassLib2\MyTemplate.vstemplate
</ProjectTemplateLink>
</SolutionFolder>
<SolutionFolder Name="Graphics Classes">
<ProjectTemplateLink ProjectName="GraphicsClassLib1">
GraphicsClassLib1\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="GraphicsClassLib2">
GraphicsClassLib2\MyTemplate.vstemplate
</ProjectTemplateLink>
</SolutionFolder>
</ProjectCollection>
</TemplateContent>
</VSTemplate>