Escolha entre VSPackages compartilhados e versionados
Versões diferentes do Visual Studio podem coexistir no mesmo computador. VSPackages pode oferecer suporte a qualquer combinação de versões do Visual Studio.
Você pode habilitar instalações lado a lado de VSPackages por meio de uma de duas estratégias, a estratégia compartilhada ou a estratégia versionada. Ambos acomodam a presença de várias versões do Visual Studio e versões associadas do .NET Framework.
Na estratégia compartilhada, um VSPackage é registrado para uso em várias versões do Visual Studio. Na estratégia versionada, várias DLLs VSPackage são instaladas, uma para cada versão do Visual Studio que você oferece suporte.
VSPackages compartilhados
Usar um VSPackage compartilhado é apropriado quando você usa o mesmo VSPackage em várias versões do Visual Studio. Para implementar um VSPackage compartilhado, você deve executar as seguintes etapas:
Torne seu VSPackage compatível com várias versões do Visual Studio. Duas maneiras de fazer isso estão disponíveis:
Limite seu VSPackage para usar apenas os recursos da versão mais antiga do Visual Studio que você oferece suporte.
Programe seu VSPackage para se adaptar à versão do Visual Studio na qual ele está sendo executado. Em seguida, se as consultas para serviços mais recentes falharem, seu VSPackage pode oferecer outros serviços que são suportados em versões mais antigas do Visual Studio.
Registre seu VSPackage adequadamente. Para obter mais informações, consulte Registro VSPackage e Registro VSPackage gerenciado.
Registre as extensões de arquivo apropriadamente. Para obter mais informações, consulte Registrando extensões de nome de arquivo para implantações lado a lado.
Crie um instalador que implanta seu VSPackage para as versões apropriadas do Visual Studio. Para obter mais informações, consulte Instalando VSPackages com o Windows Installer e Gerenciamento de componentes.
Resolver a questão das colisões de registro. Para obter mais informações, consulte Registro de VSPackage.
Certifique-se de que os arquivos compartilhados e versionados respeitem a contagem de referência para permitir a instalação segura e a remoção de várias versões. Para obter mais informações, consulte Gerenciamento de componentes.
VSPackages versionados
Sob a estratégia VSPackage versionada, você cria um VSPackage para cada versão do Visual Studio que você oferece suporte. Fazer isso é apropriado quando você espera aproveitar os serviços fornecidos por versões posteriores do Visual Studio, porque cada VSPackage pode evoluir sem afetar os outros. No entanto, a estratégia versionada de criar vários binários, a partir de uma única base de código ou de várias bases de código independentes, pode implicar mais desenvolvimento inicial do que a estratégia compartilhada. Além disso, trabalho de instalação adicional pode ser necessário porque você deve criar uma instalação separada para cada versão ou uma instalação única que detecta as versões do Visual Studio que estão instaladas e que seu VSPackage suporta.
Compatibilidade binária
Geralmente, a compatibilidade binária permite que VSPackages de código nativo desenvolvidos com versões anteriores do Visual Studio sejam executados em versões posteriores do Visual Studio. No entanto, há três exceções importantes:
Se o VSPackage depende de uma versão específica do Common Language Runtime, ele deve determinar em qual versão do Visual Studio ele está sendo executado.
Um VSPackage pode ter uma dependência de um recurso específico de outro VSPackage ou outro produto. Consequentemente, o VSPackage pode ser executado somente onde a dependência é satisfeita.
Um VSPackage pode ser afetado por uma correção de segurança em um service pack do Visual Studio ou uma versão posterior do Visual Studio. Nesses casos, um VSPackage desenvolvido com uma versão anterior do SDK do Visual Studio pode não ser executado em versões do Visual Studio depois que a correção de segurança foi aplicada. No entanto, você pode reconstruir seu pacote com a versão mais recente e fazer com que ele também seja executado em versões anteriores.
Os VSPackages gerenciados devem ser criados usando uma versão do Visual Studio e o SDK do Visual Studio que correspondam à versão de destino do Visual Studio.
Além de planejar a compatibilidade binária para seus binários VSPackage, você também deve considerar os formatos de arquivo de solução e projeto. Se o VSPackage cria um novo tipo de projeto, você deve decidir se ele pode ser executado em apenas uma versão ou em várias versões do Visual Studio. Para obter mais informações, consulte Atualizando projetos personalizados.