Registrando geradores de arquivo único
Para disponibilizar uma ferramenta personalizada no Visual Studio, você deve registrá-la para que o Visual Studio possa instanciá-la e associá-la a um tipo de projeto específico.
O registro do Visual Studio está em um hive privado, privateregistry.bin. Abra regedit.exe e siga estas instruções para carregar o hive do Registro privado para a instalação desejada do Visual Studio: Editando o registro para uma instância do Visual Studio.
Para registrar uma ferramenta personalizada
Registre a DLL da ferramenta personalizada no registro local do Visual Studio ou no registro do sistema, em HKEY_CLASSES_ROOT.
Por exemplo, aqui estão as informações de registro para a ferramenta personalizada MSDataSetGenerator gerenciada, que vem com o Visual Studio:
[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"
O
{hive}
é o nome que você forneceu quando carregou privateregistry.bin no editor do Registro e a pasta de instância (mostrada aqui como17.0_**_Config
) é específica para uma instalação específica do Visual Studio em seu computador.Crie uma chave do Registro no hive do Visual Studio desejado em Geradores\GUID em que GUID é o GUID definido pelo sistema ou serviço de projeto da linguagem específica. O nome da chave se torna o nome programático da sua ferramenta personalizada. A chave de ferramenta personalizada tem os seguintes valores:
(Padrão)
Opcional. Fornece uma descrição amigável da ferramenta personalizada. Este parâmetro é opcional, porém recomendado.
CLSID
Obrigatória. Especifica o identificador da biblioteca de classes do componente COM que implementa IVsSingleFileGenerator.
GeneratesDesignTimeSource
Obrigatória. Indica se os tipos de arquivos produzidos por essa ferramenta personalizada são disponibilizados para designers visuais. O valor desse parâmetro precisa ser (zero) 0 para tipos não disponíveis para designers visuais ou (um) 1 para tipos disponíveis para designers visuais.
Observação
Você deve registrar a ferramenta personalizada separadamente para cada linguagem para o qual deseja que a ferramenta personalizada esteja disponível.
Por exemplo, o MSDataSetGenerator se registra uma vez para cada linguagem:
[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