共用方式為


封裝和部署自訂 My 延伸模組 (Visual Basic)

Visual Basic 可讓您輕鬆地使用 Visual Studio 範本來部署自訂 My 命名空間延伸模組。 如果您要建立專案範本,其中您的 My 延伸模組是新專案類型不可或缺的一部分,只要在匯出範本時,將自訂 My 延伸模組程式碼隨附於專案即可。 如需匯出專案範本的詳細資訊,請參閱操作說明:建立專案範本

如果您的自訂 My 延伸模組位於單一程式碼檔案中,您可以將檔案匯出為項目範本,以便使用者新增至任何類型的 Visual Basic 專案。 然後,您可以自訂項目範本,在 Visual Basic 專案中啟用自訂 My 延伸模組的其他功能和行為。 這些功能包括:

  • 可讓使用者從 Visual Basic 專案設計工具的 [My 延伸模組] 頁面管理自訂 My 延伸模組。

  • 當指定組件的參考新增至專案時,自動新增自訂 My 延伸模組。

  • 在 [新增項目] 對話方塊中隱藏 My 延伸模組項目專案範本,使其不包含在專案項目清單中。

本主題討論如何將自訂 My 延伸模組封裝為可從 Visual Basic 專案設計工具之 [My 延伸模組] 頁面管理的隱藏項目範本。 您也可以在指定組件的參考新增至專案時,自動新增自訂 My 延伸模組。

建立 My 命名空間延伸模組

為自訂 My 延伸模組建立部署套件的第一個步驟,是將延伸模組建立為單一程式碼檔案。 如需如何建立自訂 My 延伸模組的詳細資料和指引,請參閱擴充 Visual Basic 中的 My 命名空間

將 My 命名空間延伸模組匯出為項目範本

擁有包含 My 命名空間延伸模組的程式碼檔案之後,您可以將程式碼檔案匯出為 Visual Studio 項目範本。 如需如何將檔案匯出為 Visual Studio 項目範本的指示,請參閱操作說明:建立項目範本

注意

如果您的 My 命名空間延伸模組相依於特定組件,您可以自訂項目範本,在新增該組件的參考時,自動安裝 My 命名空間延伸模組。 因此,當您將程式碼檔案匯出為 Visual Studio 項目範本時,您會想要排除該組件參考。

自訂項目範本

您可以從 Visual Basic 專案設計工具的 [My 延伸模組] 頁面管理項目範本。 您也可以在指定組件的參考新增至專案時,自動新增自訂項目範本。 若要啟用這些自訂,您會在範本中新增一個檔案 (稱為 CustomData 檔案),然後將新元素加入 .vstemplate 檔案中的 XML。

新增 CustomData 檔案

CustomData 檔案是副檔名為 .CustomData 並包含 XML 的文字檔 (檔案名稱可以設定為任何對您範本有意義的值)。 當使用者使用 Visual Basic 專案設計工具的 [My 延伸模組] 頁面時,CustomData 檔案中的 XML 會指示 Visual Basic 包含您的 My 延伸模組。 您可以選擇性地將 <AssemblyFullName> 屬性新增至 CustomData 檔案 XML。 這會指示 Visual Basic 在特定組件的參考新增至專案時,自動安裝您的自訂 My 延伸模組。 您可以使用任何文字編輯器或 XML 編輯器來建立 CustomData 檔案,然後將其新增至您項目範本的壓縮資料夾 (.zip 檔案)。

例如,下列 XML 顯示 CustomData 檔案的內容,該檔案會在 Microsoft.VisualBasic.PowerPacks.Vs.dll 組件的參考新增至專案時,將項目範本新增至 Visual Basic 專案的 [My 延伸模組] 資料夾。

<VBMyExtensionTemplate
    ID="Microsoft.VisualBasic.Samples.MyExtensions.MyPrinterInfo"
    Version="1.0.0.0"
    AssemblyFullName="Microsoft.VisualBasic.PowerPacks.vs"
/>

CustomData 檔案包含具有下表所列屬性的 <VBMyExtensionTemplate> 元素。

屬性 描述
ID 必要。 延伸模組的唯一識別碼。 如果已將具有此識別碼的延伸模組新增至專案,則不會提示使用者再次新增。
Version 必要。 項目範本的版本號碼。
AssemblyFullName 選擇性。 組件名稱。 當此組件的參考新增至專案時,系統會提示使用者從此項目範本新增 My 延伸模組。

將 <CustomDataSignature> 元素新增至 .vstemplate 檔案

若要將 Visual Studio 項目範本識別為 My 命名空間延伸模組,您也必須修改項目範本的 .vstemplate 檔案。 您必須將 <CustomDataSignature> 元素新增至 <TemplateData> 元素。 <CustomDataSignature> 元素必須包含 Microsoft.VisualBasic.MyExtension 文字,如下列範例所示。

<CustomDataSignature>Microsoft.VisualBasic.MyExtension</CustomDataSignature>

您無法直接修改壓縮資料夾中的檔案 (.zip 檔案)。 您必須從壓縮資料夾複製 .vstemplate 檔案、加以修改,然後將壓縮資料夾中的 .vstemplate 檔案取代為更新的複本。

下列範例顯示已新增 <CustomDataSignature> 元素的 .vstemplate 檔案內容。

<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>MyCustomExtensionModule.vb</DefaultName>
    <Name>MyPrinterInfo</Name>
    <Description>Custom My Extensions Item Template</Description>
    <ProjectType>VisualBasic</ProjectType>
    <SortOrder>10</SortOrder>
    <Icon>__TemplateIcon.ico</Icon>
    <CustomDataSignature      >Microsoft.VisualBasic.MyExtension</CustomDataSignature>
  </TemplateData>
  <TemplateContent>
    <References />
    <ProjectItem SubType="Code"
                 TargetFileName="$fileinputname$.vb"
                 ReplaceParameters="true"
     >MyCustomExtensionModule.vb</ProjectItem>
  </TemplateContent>
</VSTemplate>

安裝範本

若要安裝範本,您可以將壓縮資料夾 (.zip 檔案) 複製到 Visual Basic 項目範本資料夾。 根據預設,使用者項目範本位於 %USERPROFILE%\Documents\Visual Studio <版本>\Templates\ItemTemplates\Visual Basic 中。 或者,您可以將範本發佈為Visual Studio 安裝程式 (.vsi) 檔案。

另請參閱