共用方式為


註冊單一檔案產生器

若要讓自訂工具在 Visual Studio 中使用,您必須註冊它,讓 Visual Studio 可以具現化它,並將它與特定專案類型產生關聯。

Visual Studio 的登錄位於私人 Hive 中, privateregistry.bin。 開啟 regedit.exe 並遵循下列指示,載入私人登錄配置區,以進行所需的 Visual Studio 安裝: 編輯 Visual Studio 執行個體的登錄

註冊自訂工具

  1. 在 Visual Studio 的本機登錄(HKEY_LOCAL_MACHINE 載入)或在系統登錄的 HKEY_CLASSES_ROOT 中註冊自訂工具 DLL。

    例如,以下是 Visual Studio 隨附的受控 MSDataSetGenerator 自訂工具的註冊資訊:

    [HKEY_LOCAL_MACHINE\{hive}\SOFTWARE\Microsoft\VisualStudio\17.0_**_Config\CLSID\{E76D53CC-3D4F-40A2-BD4D-4F3419755476}]
    @="COM+ class: Microsoft.VSDesigner.CodeGenerator.TypedDataSourceGenerator.DataSourceGeneratorWrapper"
    "InprocServer32"="C:\\WINDOWS\\system32\\mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="Microsoft.VSDesigner.CodeGenerator.TypedDataSourceGenerator.DataSourceGeneratorWrapper"
    "Assembly"="Microsoft.VSDesigner, Version=17.0.0.0, Culture=Neutral, PublicKeyToken=b03f5f7f11d50a3a"
    

    您在登錄編輯器中載入 {hive} 時所提供的名稱是 ,而顯示為 17.0_**_Config 的實例資料夾則對應於您電腦上某一特定安裝的 Visual Studio。

  2. 在所需的 Visual Studio Hive 中的 Generators\GUID 下建立登錄機碼,其中 GUID 是由特定語言的專案系統或服務所定義的 GUID。 金鑰的名稱會變成自訂工具的程式設計名稱。 自訂工具索引鍵具有下列值:

    • (預設值)

      選擇性。 提供自定義工具的用戶友好描述。 此參數是選用的,但建議使用。

    • CLSID

      必須的。 指定實作 IVsSingleFileGenerator之 COM 元件類別庫的識別碼。

    • 產生DesignTimeSource

      必須的。 指出此自訂工具所產生檔案中的類型是否可供視覺設計人員使用。 此參數的值必須為 (零) 0 (適用於視覺設計人員無法使用的類型,或 (一) 1 表示視覺設計師可用的類型。

    備註

    您必須針對您想要提供自訂工具的每種語言個別註冊自訂工具。

    例如,MSDataSetGenerator 會針對每種語言註冊一次:

    [HKEY_LOCAL_MACHINE\{hive}\SOFTWARE\Microsoft\VisualStudio\17.0_**_Config\Generators\{164b10b9-b200-11d0-8c61-00a0c91e29d5}\MSDataSetGenerator]
    @="Microsoft VB Code Generator for XSD"
    "CLSID"="{E76D53CC-3D4F-40a2-BD4D-4F3419755476}"
    "GeneratesDesignTimeSource"=dword:00000001
    
    [HKEY_LOCAL_MACHINE\{hive}\SOFTWARE\Microsoft\VisualStudio\17.0_**_Config\Generators\{fae04ec1-301f-11d3-bf4b-00c04f79efbc}\MSDataSetGenerator]
    @="Microsoft C# Code Generator for XSD"
    "CLSID"="{E76D53CC-3D4F-40a2-BD4D-4F3419755476}"
    "GeneratesDesignTimeSource"=dword:00000001