ProjectItem 元素 (Visual Studio 项目模板)

指定项目模板中包含的文件。

注意

ProjectItem 元素接受不同的属性,具体取决于模板是用于项目还是项。 本主题介绍 ProjectItem 项目模板的元素。 有关项模板元素的说明ProjectItem,请参阅 ProjectItem 元素(Visual Studio 项模板)。

<VSTemplate><TemplateContent><ProjectItem><>

语法

<ProjectItem
    TargetFileName="TargetFileName.ext"
    ReplaceParameters="true/false"
    OpenInEditor="true/false"
    OpenInWebBrowser="true/false"
    OpenInHelpBrowser="true/false"
    OpenOrder="Value">
        FileName.ext
</ProjectItem>

特性和元素

以下各部分描述了特性、子元素和父元素。

特性

属性 描述
TargetFileName 可选特性。

指定从模板创建项目时项目项的名称和路径。 此属性可用于创建与模板 .zip 文件中的目录结构不同的目录结构,或使用参数替换来创建项名称。
ReplaceParameters 可选特性。

一个布尔值,该值指定项是否具有从模板创建项目时必须替换的参数值。 默认值是 false
OpenInEditor 可选特性。

一个布尔值,该值指定在从模板创建项目时是否应在 Visual Studio 的相应编辑器中打开该项。

在值为 .true. 的项OpenInEditor上忽略这些OpenInWebBrowser属性和OpenInHelpBrowser属性。

默认值为 false
OpenInWebBrowser 可选特性。

一个布尔值,该值指定在从模板创建项目时是否应打开 Web 浏览器。

只有位于项目的本地 HTML 文件和文本文件才能在 Web 浏览器中打开。 无法使用此属性打开外部 URL。

默认值为 false
OpenInHelpBrowser 可选属性。

一个布尔值,该值指定从模板创建项目时是否应在帮助查看器中打开该项。

只有位于项目的本地 HTML 文件和文本文件才能在帮助浏览器中打开。 无法使用此属性打开外部 URL。

默认值为 false
OpenOrder 可选属性。

指定一个数值,该值表示项目将在各自的编辑器中打开的顺序。 所有值必须是 10 的倍数。 首先打开值较高的 OpenOrder 项。

子元素

无。

父元素

元素 描述
Project 指定要添加到项目的文件或目录。

文本值

需要一个文本值。

一个 string 表示模板 .zip 文件中文件的名称或路径。

注解

ProjectItem 是一个可选子级 Project

TargetFileName 属性可用于创建与模板 .zip 文件中的目录结构不同的目录结构。 例如,如果 文件 MyFile.vb 存在于模板 .zip 文件的根目录中,但希望该文件放置在从模板创建的所有项目中名为 CustomFiles 的目录中,则可以使用以下 XML:

<ProjectItem TargetFileName="CustomFiles\MyFile.vb">MyFile.vb</ProjectItem>

TargetFileName 属性还可用于重命名文件名中包含国际字符的文件。 例如,模板 .zip 文件不能包含具有 Unicode 字符的文件名,因此必须先重命名该文件,然后才能将其压缩到 .zip 文件中。 该 TargetFileName 属性可用于将文件名设置回原始 Unicode 文件名。

TargetFileName 属性还可用于使用参数重命名文件。 以下过程说明如何根据项目名称将模板 .zip 文件的根目录中存在的 MyFile.vb 文件重命名为文件名。

使用参数重命名文件

  1. 在 .vstemplate 文件中使用以下 XML

    <ProjectItem TargetFileName="$safeprojectname$.vb">MyFile.vb</ProjectItem>
    
  2. 在文本编辑器或 Visual Studio 中打开项目文件(.vbproj for a Visual Basic 项目)。

  3. 在项目文件中找到类似于以下 XML 的行:

    <Compile Include="MyFile.vb">
    
  4. 将代码行替换为以下 XML:

    <Compile Include="$safeprojectname$.vb">
    

    从此模板创建项目时,文件名将基于用户在 “新建项目 ”对话框中输入的名称,并删除所有不安全字符和空格。 有关详细信息,请参阅 模板参数

示例

下面的示例说明了 Visual C# 应用程序的项目模板的元数据。

<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 ReplaceParameters="true">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>

另请参阅