封裝和部署自訂 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) 檔案。