Share via


SolutionFolder Element (Visual Studio Templates)

Groups projects in multi-project templates.

<VSTemplate>
   <TemplateContent>
     <ProjectCollection>
       <SolutionFolder>

<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="https://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 ProjectName="MathClassLib2">
                <ProjectTemplateLink>
                    MathClassLib2\MyTemplate.vstemplate
                </ProjectTemplateLink>
            </SolutionFolder>
            <SolutionFolder Name="Graphics Classes">
                <ProjectTemplateLink ProjectName="GraphicsClassLib1">
                    GraphicsClassLib1\MyTemplate.vstemplate
                </ProjectTemplateLink ProjectName="GraphicsClassLib2">
                <ProjectTemplateLink>
                    GraphicsClassLib2\MyTemplate.vstemplate
                </ProjectTemplateLink>
            </SolutionFolder>
        </ProjectCollection>
    </TemplateContent>
</VSTemplate>

See Also

Tasks

How to: Create Multi-Project Templates

Reference

Visual Studio Template Schema Reference

Concepts

Introduction to Visual Studio Templates