Visual Studio 範本指令清單架構參考
此架構描述針對 Visual Studio 專案或專案範本所產生的 Visual Studio 範本指令清單 (.vstman) 檔案格式。 架構也會描述範本的位置和其他相關信息。
:因為有個別的專案和專案範本目錄,所以指令清單不應該混合專案和項目範本。
重要
從 Visual Studio 2017 開始,即可使用此指令清單。
VSTemplateManifest 元素
指令清單的根元素。
屬性
版本:代表範本指令清單版本的字串。 必要。
地區設定:代表範本指令清單地區設定或地區設定的字串。 地區設定值適用於所有範本。 您必須針對每個地區設定使用不同的指令清單。 選擇性。
子元素
VSTemplateContainer 選用。
VSTemplateDir 選擇性。
父元素
無。
VSTemplateContainer
範本指令清單專案的容器。 指令清單針對它定義的每個範本都有一個範本容器。
屬性
VSTemplateType:指定範本類型的字串值("Project"
、 "Item"
或 "ProjectGroup"
)。 必要
子元素
RelativePathOnDisk:磁碟上範本檔案的相對路徑。 這個位置也會定義範本在 [新增專案] 或 [新增專案] 對話框中所顯示的範本樹狀結構中的位置。 對於部署為目錄和個別檔案的範本,此路徑是指包含範本檔案的目錄。 對於部署為 .zip 檔案的範本,此路徑應該是 .zip 檔案的路徑。
**VSTemplateHeader: 描述標頭的 TemplateData 元素。
父元素
VSTemplateManifest
VSTemplateDir
描述範本所在的目錄。 指令清單可以包含多個 VSTemplateDir 專案,以提供本地化的名稱和排序順序,讓目錄控制其在範本類別目錄樹中的外觀。
由於其設計, VSTemplateDir 項目應該只會出現在非地區設定指定的指令清單中。
屬性
無。
子元素
RelativePath:範本的路徑。 每個路徑只能有一個專案,因此第一個專案會為所有指令清單獲勝。
LocalizedName: 指定本地化名稱的 NameDescriptionIcon 元素。 選擇性。
SortOrder:指定排序順序的字串。 選擇性。
ParentFolderOverrideName:父資料夾的覆寫名稱。 選擇性。 這個專案具有 Name 屬性,這是指定名稱的字串值。
父元素
VSTemplateManifest
NameDescriptionIcon
指定可能用於當地語系化範本的名稱和描述。 請參閱 上述 LocalizedName 。
屬性
封裝:指定封裝的字串值。 選擇性。
識別元:指定識別子的字串值。 選擇性。
子元素
無。
父元素
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>