如何:手动创建项目模板
Visual Studio 提供了很多向导,可帮助您通过在集成开发环境 (IDE) 中打开的项目生成模板。 但是,如果您要在 IDE 外部创建模板,则可以使用下列步骤将应用程序的源文件装入到 Visual Studio 项目模板中。
创建自定义项目模板的过程包括设计和开发项目,以及提供有关项目模板的元数据。
自定义项目模板需要以下各项:
元数据文件 (.vstemplate),Visual Studio 使用这些文件来定义在 IDE 中显示项目的方式,以及自定义在 IDE 中创建项目的方式(如果指定了相应的属性)。
一个项目文件。
代码文件,例如 Windows 窗体、Web 窗体、类文件和资源文件。
所有项都被压缩到一个 .zip 文件中。 必须将该 .zip 文件放在 Visual Studio 为自定义项目模板识别的位置。 将在**“新建项目”对话框的“我的模板”**部分中的每个编程语言文件夹中列出自定义项目模板。 有关更多信息,请参见如何:查找和组织项目模板和项模板。
手动创建模板
创建一个项目。
编辑代码文件,以指示应发生代码替换的位置。 有关参数替换的更多信息,请参见如何:替换模板中的参数。
创建一个 XML 文件,并在项目所在的目录中将此文件另存为 MyTemplate.vstemplate 文件,但不要将其添加到 Visual Studio 中的项目中。
创作 MyTemplate.vstemplate 文件以提供项目模板元数据。 有关更多信息,请参见下一节中的示例。
选择模板中的文件(包括 .vstemplate 文件),右击所选文件,单击**“发送到”,然后单击“压缩(zipped)文件夹”**。 前面解压缩的文件将压缩为 .zip 文件。
将 .zip 模板文件置于 Visual Studio 项目模板目录中。 此目录位于 Visual Studio 安装目录下,其名称为 Templates\ProjectTemplates\。
示例
此示例演示一个基本的 .vstemplate 元数据文件。 TemplateData 元素指定**“新建项目”**对话框中显示的项目类型、名称、说明和图标。 TemplateContent 元素指定项目文件的名称以及项目中包含的文件。 在此示例中,该项目文件命名为 MyTemplate.csproj,并包含 Visual C# 项目通常包括的文件。
<VSTemplate Version="3.0.0" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
<Name>My template</Name>
<Description>Basic C# application</Description>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>Simple</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
<TemplateContent>
<Project TargetFileName="MyTemplate.csproj" File="Killer.csproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="true" TargetFileName="App.config">App.config</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="Form1.cs">Form1.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="Form1.Designer.cs">Form1.Designer.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="Program.cs">Program.cs</ProjectItem>
<Folder Name="Properties" TargetFolderName="Properties">
<ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="Resources.resx">Resources.resx</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="Resources.Designer.cs">Resources.Designer.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="Settings.settings">Settings.settings</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="Settings.Designer.cs">Settings.Designer.cs</ProjectItem>
</Folder>
</Project>
</TemplateContent>
</VSTemplate>