共用方式為


封裝及部署自定義我的延伸模組 (Visual Basic)

Visual Basic 可讓您輕鬆地使用 Visual Studio 範本來部署自定義 My 命名空間延伸模組。 如果您正在建立一個專案範本,而您的 My 延伸模組是新專案類型不可或缺的一部分,那麼您可以在匯出範本時,將自定義 My 延伸模組程式碼包含在專案中。 如需匯出專案範本的詳細資訊,請參閱 如何:建立專案範本

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

  • 允許使用者從 Visual Basic 專案設計工具的 My] 頁面管理自定義延伸模組。

  • 當將指定的組件參考加入至專案時,自動新增自定義 My 擴充功能。

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

本主題討論如何將自定義 My 延伸模組封裝為可從 Visual Basic 項目設計工具的 [我的延伸 模組] 頁面管理的隱藏專案範本。 當加入指定元件的參考至專案時,自訂的My延伸模組也會自動加入。

建立我的命名空間延伸模組

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

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

在您擁有包含 My 命名空間擴展名的程式代碼檔案之後,您可以將程式代碼檔案匯出為 Visual Studio 專案範本。 如需如何將檔案匯出為 Visual Studio 專案範本的指示,請參閱 如何:建立專案範本

備註

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

客製化項目範本

您可以從 Visual Basic 項目設計工具的 [ 我的延伸模組 ] 頁面管理專案範本。 您還可以在專案中添加指定程序集的參考時,自動加入項目範本。 若要啟用這些自定義,您會將名為 CustomData 檔案的新檔案新增至範本,然後將新元素新增至 .vstemplate 檔案中的 XML。

新增 CustomData 檔案

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

例如,下列 XML 顯示 CustomData 檔案的內容,當將 Microsoft.VisualBasic.PowerPacks.Vs.dll 組件的參考加入至專案時,會將範本項目新增至 Visual Basic 專案的 [我的擴充功能] 資料夾。

<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 <Version>\Templates\ItemTemplates\Visual Basic 中。 或者,您可以將範本發佈為 Visual Studio Installer (.vsi) 檔案。

另請參閱