注册单个文件生成器

若要使自定义工具在 Visual Studio 中可用,必须对其进行注册,以便 Visual Studio 可以实例化它并将其与特定项目类型相关联。

注册自定义工具

  1. 在 Visual Studio 本地注册表或系统注册表的 HKEY_CLAS标准版S_ROOT 下注册自定义工具 DLL。

    例如,下面是 Visual Studio 附带的托管 MSDataSetGenerator 自定义工具的注册信息:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0\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=14.0.0.0, Culture=Neutral, PublicKeyToken=b03f5f7f11d50a3a"
    
  2. 在生成器\GUID 下的所需 Visual Studio 配置单元中创建注册表项,其中 GUID 是由特定语言的项目系统或服务定义的 GUID。 密钥的名称将成为自定义工具的编程名称。 自定义工具键具有以下值:

    • (默认值)

      可选。 提供自定义工具的用户友好说明。 此参数是可选的,但建议使用。

    • CLSID

      必需。 指定实现 IVsSingleFileGenerator的 COM 组件的类库的标识符。

    • GeneratesDesignTimeSource

      必需。 指示此自定义工具生成的文件中的类型是否可供视觉设计器使用。 对于不能供视觉设计器使用的类型,此参数的值必须为 0;对于可供视觉设计器使用的类型,此参数的值必须为 0;对于可供视觉设计器使用的类型(一) 1。

    注意

    必须为希望自定义工具可用的每种语言单独注册自定义工具。

    例如,MSDataSetGenerator 为每个语言注册一次:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0\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\SOFTWARE\Microsoft\VisualStudio\14.0\Generators\{fae04ec1-301f-11d3-bf4b-00c04f79efbc}\MSDataSetGenerator]
    @="Microsoft C# Code Generator for XSD"
    "CLSID"="{E76D53CC-3D4F-40a2-BD4D-4F3419755476}"
    "GeneratesDesignTimeSource"=dword:00000001