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>