Como criar suplementos de soluções
Os suplementos do Visual Studio foram substituídos no Visual Studio 2013. Você deve atualizar seus suplementos para as extensões VSPackage. Para obter mais informações sobre atualização, consulte Perguntas frequentes: convertendo suplementos em extensões VSPackage.
Quando você cria um suplemento usando o Assistente de Suplemento, ele é associado automaticamente ao ambiente de desenvolvimento integrado (IDE). Pode ser carregado quando a IDE for iniciada e continua executando até que você o descarregue ou saia da IDE. Você também pode associar um suplemento com uma solução para torná-lo um Suplemento da solução. Um suplemento da solução pode ser útil quando você deseja carregar somente com uma solução específica devido às dependências do sistema ou minimizar o uso desnecessário dos recursos do sistema. Quando Visual Studio carrega uma solução, primeiro ele examina o arquivo de solução (.sln) para ver se o arquivo faz referência a suplementos. Em caso afirmativo, carrega-os e chama os mesmos métodos de IDTExtensibility2 que um suplemento normal do Visual Studio.
O Assistente de Suplemento não oferece no momento uma maneira de indicar se um suplemento é um suplemento da solução. No entanto, com algumas alterações secundárias, você pode transformar um suplemento em um suplemento à solução. Quando um suplemento típico armazena suas informações no arquivo XML .Addin — ou, no caso de um suplemento não gerenciado para COM, no Registro — um suplemento da solução armazena suas informações no arquivo .SLN da solução.
Dica
Os suplementos da solução devem ser registrados usando o registro baseado em COM tradicional.Como os suplementos de Visual Studio 2005 usam o novo registro XML (arquivo .AddIn), você deve defini-lo para se registrar no registro do Windows.O procedimento a seguir demonstra como fazer isso.
Dica
As caixas de diálogo e os comandos de menu que você vê podem diferir das descritas no Help dependendo de suas configurações ativas ou de edição.Esses procedimentos foram desenvolvidos com as Configurações Gerais de Desenvolvimento ativas.Para alterar as configurações, escolha Importar e ExportarConfigurações no menu de Ferramentas.Para obter mais informações, consulte Personalizando configurações de desenvolvimento no Visual Studio.
Criando um suplemento da solução
O procedimento a seguir descreve como criar um suplemento para a solução.
Para criar um suplemento da solução
Crie um novo projeto de suplemento usando o Assistente de Suplemento. Selecione o idioma apropriado e aceite todas as configurações padrão.
Clique com o botão direito do mouse no projeto e selecione Propriedades.
Clique na guia Compilar e marque a caixa Registrar para interoperabilidade COM.
Isso permite que o suplemento seja referenciado como um objeto COM, que é necessário para suplementos da Solução. Embora o Assistente de Suplemento tenha criado um arquivo XML .AddIn para o projeto, você não precisa de um suplemento da solução para poder excluí-lo, se desejar.
visto que o suplemento da solução é um objeto COM, é necessário registrá-lo no Windows. Para fazer isso, inicie um prompt de comando do Visual Studio e insira regasm /codebase SolutionAddinName.dll.
Como não é possível associar um suplemento a um arquivo de solução através do registro, use o código para fazê-lo. Para registrar o suplemento com o arquivo de solução, use o método Add da coleção AddIns da solução.
AddIns retorna uma coleção de AddIns. É semelhante a AddIns exceto que, em vez de consistir de todos os suplementos em Visual Studio, consiste somente dos suplementos registrados com o arquivo de solução especificado. Portanto, para registrar um suplemento como um suplemento da solução, use Solution.AddIns.Add.
Veja um exemplo no Visual Basic e no Visual C#. (Essas linhas devem substituir a instrução de variável do suplemento no método OnConnection, fornecido pelo Assistente de suplemento.)
Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports EnvDTE100 . . . Dim addin As EnvDTE.AddIn = _ _applicationObject.Solution2.AddIns.Add("MyAddin1.Connect", "MyAddinName", "My add-in description", True)
using EnvDTE; using EnvDTE80; using EnvDTE90; using EnvDTE100; . . . EnvDTE.AddIn addin = _applicationObject.Solution.AddIns.Add(MyAddin.Connect, "MyAddinName", "My add-in description", true);