title | description | ms.date | ms.subservice | ms.topic | f1_keywords | helpviewer_keywords | author | ms.author | manager | ||
---|---|---|---|---|---|---|---|---|---|---|---|
ProjectCollection Element (Visual Studio Templates) |
Learn about the ProjectCollection element and how it specifies the organization and contents of multi-project templates. |
11/04/2016 |
general-ide |
reference |
|
maiak |
maiak |
mijacobs |
Specifies the organization and contents of multi-project templates.
<VSTemplate> <TemplateContent> <ProjectCollection>
<ProjectCollection>
<ProjectTemplateLink> ... </ProjectTemplateLink>
<SolutionFolder> ... </SolutionFolder>
</ProjectCollection>
The following sections describe attribute, child elements, and parent elements.
None.
Element | Description |
---|---|
ProjectTemplateLink | Optional element. Specifies a project in a multi-project template. |
SolutionFolder | Optional element. Groups projects in multi-project templates. |
Element | Description |
---|---|
TemplateContent | Required element. Specifies the contents of the template. |
Multi-project templates act as containers for two or more projects. The ProjectCollection
element is used to specify the projects to contain in the template. For more information on multi-project templates, see How to: Create multi-project templates.
This example shows a simple multi-project root .vstemplate file. In this example, the template contains two projects, My Windows Application
and My Class Library
. The ProjectName
attribute on the ProjectTemplateLink
element sets the name for Visual Studio to assign this project. If the ProjectName
attribute does not exist, the name of the .vstemplate file is used as the project name.
<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>
<ProjectTemplateLink ProjectName="My Windows Application">
WindowsApp\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="My Class Library">
ClassLib\MyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>