Project element (Visual Studio templates)
Specifies the files or directories to add to the project.
<VSTemplate> <TemplateContent> <Project>
Syntax
<Project
File="MyProject.proj"
TargetFileName="MyTargetProject.proj"
ReplaceParameters="true/false">
IgnoreProjectParameter="$myCustomParameter$"
...
</Project>
Attributes and elements
The following sections describe attribute, child elements, and parent elements.
Attributes
Attribute | Description |
---|---|
File |
Required attribute. Specifies the name of the project file in the template .zip file. |
ReplaceParameters |
Optional attribute. A Boolean value that specifies whether the project file has parameter values that must be replaced when a project is created from the template. Default value is false . |
TargetFileName |
Optional attribute. Specifies the name of the project file when a project is created from the template. |
IgnoreProjectParameter |
Optional attribute. Specifies whether the project should be added to the current solution. If the value of custom parameter, "$myCustomParameter$" exists in the parameter replacement file, the project is created but not added as part of the currently open solution. |
Child elements
Element | Description |
---|---|
Folder | Optional element. Specifies a folder to add to the project. |
ProjectItem | Optional element. Specifies a file to add to a project. |
Parent elements
Element | Description |
---|---|
TemplateContent | Required element. |
Remarks
Project
is an optional child element of TemplateContent
.
The Project
element is used to specify a project, and therefore, is only valid in project templates.
Project
elements can have Folder children elements or ProjectItem children elements, but not a mixture of both Folder
and ProjectItem
children elements.
Visual Studio automatically renames the project file name based on the name entered by the user in the New Project dialog box. Use the TargetFileName
attribute if you want to provide an alternate file name for project files created with the template.
Example
The following example shows the metadata for a project template for a Visual C# application.
<VSTemplate Type="Project" Version="3.0.0"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>My template</Name>
<Description>A basic starter kit</Description>
<Icon>TemplateIcon.ico</Icon>
<ProjectType>CSharp</ProjectType>
</TemplateData>
<TemplateContent>
<Project File="MyStarterKit.csproj">
<ProjectItem>Form1.cs<ProjectItem>
<ProjectItem>Form1.Designer.cs</ProjectItem>
<ProjectItem>Program.cs</ProjectItem>
<ProjectItem>Properties\AssemblyInfo.cs</ProjectItem>
<ProjectItem>Properties\Resources.resx</ProjectItem>
<ProjectItem>Properties\Resources.Designer.cs</ProjectItem>
<ProjectItem>Properties\Settings.settings</ProjectItem>
<ProjectItem>Properties\Settings.Designer.cs</ProjectItem>
</Project>
</TemplateContent>
</VSTemplate>