Visual Studio テンプレート マニフェスト スキーマ リファレンス

このスキーマでは、Visual Studio のプロジェクトまたは項目テンプレートに対して生成される Visual Studio テンプレート マニフェスト (.vstman) ファイルの形式を記述します。 このスキーマでは、テンプレートに関する場所やその他の関連情報も記述します。

: 項目およびプロジェクト テンプレートのディレクトリは異なるため、マニフェストに項目およびプロジェクト テンプレートを混在させないでください。

重要

このマニフェストは、Visual Studio 2017 以降で使用できます。

VSTemplateManifest 要素

マニフェストのルート要素。

属性

  • Version: テンプレート マニフェストのバージョンを表す文字列。 必須。

  • Locale: テンプレート マニフェストのロケールを表す文字列。 このロケール値はすべてのテンプレートに適用されます。 ロケールごとに別個のマニフェストを使用する必要があります。 省略可能。

子要素

  • VSTemplateContainer 省略可能。

  • VSTemplateDir 省略可能。

親要素

なし。

VSTemplateContainer

テンプレート マニフェスト要素のコンテナー。 マニフェストには、定義するテンプレートごとに 1 つのテンプレート コンテナーが含まれています。

属性

VSTemplateType: テンプレートの種類 ("Project""Item"、または "ProjectGroup") を指定する文字列値。 必須

子要素

  • RelativePathOnDisk: ディスク上のテンプレート ファイルの相対パス。 この場所では、[新しいプロジェクト] または [新しい項目] ダイアログに表示されるテンプレート ツリー内のテンプレートの配置も定義されます。 ディレクトリと個々のファイルとして配置されるテンプレートの場合、このパスはテンプレート ファイルを含むディレクトリを参照します。 .zip ファイルとして配置されるテンプレートの場合、このパスは .zip ファイルへのパスである必要があります。

  • **VSTemplateHeader: ヘッダーを記述する TemplateData 要素。

親要素

VSTemplateManifest

VSTemplateDir

テンプレートが配置されているディレクトリを記述します。 マニフェストに複数の VSTemplateDir エントリを含めると、ディレクトリのローカライズされた名前と並べ替え順序を提供し、テンプレート カテゴリ ツリーでの表示を制御することができます。

このような設計のため、VSTemplateDir エントリはロケールが指定されていないマニフェストにのみ含めることができます。

属性

なし。

子要素

  • RelativePath: テンプレートのパス。 パスごとに 1 つのエントリしか指定できないため、最初のものがすべてのマニフェストで使用されます。

  • LocalizedName: ローカライズされた名前を指定する NameDescriptionIcon 要素。 省略可能。

  • SortOrder: 並べ替え順序を指定する文字列。 省略可能。

  • ParentFolderOverrideName: 親フォルダーのオーバーライドされた名前。 省略可能。 この要素には、名前を指定する文字列値である Name 属性が含まれています。

親要素

VSTemplateManifest

NameDescriptionIcon

ローカライズされたテンプレートなどの名前と説明を指定します。 上記の「LocalizedName」を参照してください。

属性

  • Package: パッケージを指定する文字列値。 省略可能。

  • ID: ID を指定する文字列値。 省略可能。

子要素

なし。

親要素

LocalizedName

次のコードは、プロジェクト テンプレートの .vstman ファイルの例です。

<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>

次のコードは、項目テンプレートの .vstman ファイルの例です。

<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>