Freigeben über


Schemareferenz für Visual Studio-Vorlagenmanifest

Dieses Schema beschreibt das Format der Visual Studio-Vorlagenmanifestdateien (VSTMAN), die für Visual Studio-Projekt- oder Elementvorlagen generiert werden. Das Schema beschreibt auch den Speicherort und andere relevante Informationen zur Vorlage.

: Da es separate Element- und Projektvorlagenverzeichnisse gibt, sollte ein Manifest nie eine Mischung aus Element- und Projektvorlagen aufweisen.

Wichtig

Dieses Manifest ist ab Visual Studio 2017 verfügbar.

VSTemplateManifest-Element

Das Stammelement des Manifests.

Attribute

  • Version: Eine Zeichenfolge, die die Version des Vorlagenmanifests darstellt. Erforderlich.

  • Gebietsschema: Eine Zeichenfolge, die das Gebietsschema oder gebietsschema des Vorlagenmanifests darstellt. Der Gebietsschemawert gilt für alle Vorlagen. Sie müssen für jedes Gebietsschema ein separates Manifest verwenden. Optional.

Untergeordnete Elemente

  • VSTemplateContainer Optional.

  • VSTemplateDir Optional.

Übergeordnetes Element

Keine.

VSTemplateContainer

Der Container der Vorlagenmanifestelemente. Ein Manifest verfügt über einen Vorlagencontainer für jede von ihr definierte Vorlage.

Attribute

VSTemplateType: Ein Zeichenfolgenwert, der den Typ der Vorlage angibt ("Project", "Item"oder "ProjectGroup"). Erforderlich

Untergeordnete Elemente

  • RelativePathOnDisk: Der relative Pfad der Vorlagendatei auf dem Datenträger. Dieser Speicherort definiert auch die Platzierung der Vorlage in der Vorlagenstruktur, die im Dialogfeld "Neues Projekt " oder "Neues Element " angezeigt wird. Bei Vorlagen, die als Verzeichnis und einzelne Dateien bereitgestellt werden, bezieht sich dieser Pfad auf das Verzeichnis, das die Vorlagendateien enthält. Bei Vorlagen, die als ZIP-Datei bereitgestellt werden, sollte dieser Pfad der Pfad zur ZIP-Datei sein.

  • **VSTemplateHeader: Ein TemplateData-Element , das den Header beschreibt.

Übergeordnetes Element

VSTemplateManifest

VSTemplateDir

Beschreibt das Verzeichnis, in dem sich die Vorlage befindet. Ein Manifest kann mehrere VSTemplateDir-Einträge enthalten, um lokalisierten Namen und Sortierreihenfolgen für Verzeichnisse bereitzustellen, um ihre Darstellung in der Vorlagenkategoriestruktur zu steuern.

Aufgrund ihres Designs sollten VSTemplateDir-Einträge nur in nicht gebietsschemaspezifischen Manifesten angezeigt werden.

Attribute

Keine

Untergeordnete Elemente

  • RelativePath: Der Pfad der Vorlage. Pro Pfad kann nur ein Eintrag vorhanden sein, sodass der erste für alle Manifeste gewinnen wird.

  • LocalizedName: Ein NameDescriptionIcon-Element, das den lokalisierten Namen angibt. Optional.

  • SortOrder: Eine Zeichenfolge, die die Sortierreihenfolge angibt. Optional.

  • ParentFolderOverrideName: Der überschriebene Name des übergeordneten Ordners. Optional. Dieses Element verfügt über ein Name-Attribut , bei dem es sich um einen Zeichenfolgenwert handelt, der den Namen angibt.

Übergeordnetes Element

VSTemplateManifest

NameDescriptionIcon

Gibt den Namen und die Beschreibung an, möglicherweise für lokalisierte Vorlagen. Siehe "LocalizedName " weiter oben.

Attribute

  • Paket: Ein Zeichenfolgenwert, der das Paket angibt. Optional.

  • ID: Ein Zeichenfolgenwert, der die ID angibt. Optional.

Untergeordnete Elemente

Keine.

Übergeordnetes Element

Lokalisierter Name

Beispiele

Der folgende Code ist ein Beispiel für eine VSTMAN-Datei der Projektvorlage.

<VSTemplateManifest Version="1.0" Locale="1033" xmlns="http://schemas.microsoft.com/developer/vstemplatemanifest/2015">
  <VSTemplateContainer TemplateType="Project">
    <RelativePathOnDisk>CSharp\1033\TestProjectTemplate</RelativePathOnDisk>
    <TemplateFileName>TestProjectTemplate.vstemplate</TemplateFileName>
    <VSTemplateHeader>
      <TemplateData xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
        <Name>TestProjectTemplate</Name>
        <Description>TestProjectTemplate</Description>
        <Icon>TestProjectTemplate.ico</Icon>
        <ProjectType>CSharp</ProjectType>
        <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
        <SortOrder>1000</SortOrder>
        <TemplateID>aac0aeea-7883-4003-992f-937d53d70ab1</TemplateID>
        <CreateNewFolder>true</CreateNewFolder>
        <DefaultName>TestProjectTemplate</DefaultName>
        <ProvideDefaultName>true</ProvideDefaultName>
      </TemplateData>
    </VSTemplateHeader>
  </VSTemplateContainer>
</VSTemplateManifest>

Der folgende Code ist ein Beispiel für eine Elementvorlagen-VSTMAN-Datei.

<VSTemplateManifest Version="1.0" Locale="1033" xmlns="http://schemas.microsoft.com/developer/vstemplatemanifest/2015">
  <VSTemplateContainer TemplateType="Item">
    <RelativePathOnDisk>CSharp\1033\ItemTemplate1</RelativePathOnDisk>
    <TemplateFileName>ItemTemplate1.vstemplate</TemplateFileName>
    <VSTemplateHeader>
      <TemplateData xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
        <Name>ItemTemplate1</Name>
        <Description>ItemTemplate1</Description>
        <Icon>ItemTemplate1.ico</Icon>
        <TemplateID>bfeadf8e-a251-4109-b605-516b88e38c8d</TemplateID>
        <ProjectType>CSharp</ProjectType>
        <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
        <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
        <DefaultName>Class.cs</DefaultName>
      </TemplateData>
    </VSTemplateHeader>
  </VSTemplateContainer>
</VSTemplateManifest>