共用方式為


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>