Compartilhar via


Escolha entre VSPackages compartilhados e versionados

Versões diferentes do Visual Studio podem coexistir no mesmo computador. O VSPackages pode dar 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 das duas estratégias, a estratégia compartilhada ou a estratégia baseada em versão. 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 do 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 seguir as seguintes etapas:

  • Torne o VSPackage compatível com várias versões do Visual Studio. Duas maneiras de fazer isso estão disponíveis:

    • Limite seu VSPackage a usar apenas os recursos da versão mais antiga do Visual Studio que você suporta.

    • Programe seu VSPackage para se adaptar à versão do Visual Studio na qual ele está em execução. Em seguida, se as consultas para serviços mais recentes falharem, o VSPackage poderá oferecer outros serviços com suporte em versões mais antigas do Visual Studio.

  • Registre seu VSPackage adequadamente. Para obter mais informações, consulte o registro do VSPackage e o registro do VSPackage Gerenciado.

  • Registre as extensões de arquivo adequadamente. Para obter mais informações, consulte Registrar extensões de nome de arquivo para implantações lado a lado.

  • Crie um instalador que implante o VSPackage para as versões apropriadas do Visual Studio. Para obter mais informações, consulte Como instalar VSPackages com o Windows Installer e o gerenciamento de componentes.

  • Resolva o problema das colisões de registro. Para obter mais informações, consulte o registro do VSPackage.

  • Verifique se os arquivos compartilhados e com controle de versão respeitam a contagem de referências 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

Na estratégia de VSPackage versionada, você cria um VSPackage para cada versão do Visual Studio que você suporta. Fazer isso é apropriado quando você espera aproveitar os serviços fornecidos por versões posteriores do Visual Studio, pois cada VSPackage pode evoluir sem afetar os outros. No entanto, a estratégia com controle de versão de criação de vários binários, seja 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, um trabalho de instalação adicional pode ser necessário porque você deve criar uma configuração separada para cada versão ou uma única configuração que detecte as versões do Visual Studio que estão instaladas e que o VSPackage dá suporte.

Compatibilidade binária

Em geral, a compatibilidade binária permite que os VSPackages de código nativo desenvolvidos com versões anteriores do Visual Studio possam ser executados em versões posteriores do Visual Studio. No entanto, há três exceções importantes:

  • Se o VSPackage depender de uma versão específica do common language runtime, ele deverá determinar em qual versão do Visual Studio ele está em execução.

  • Um VSPackage pode ter uma dependência de um recurso específico de outro VSPackage ou outro produto. Consequentemente, o VSPackage só pode ser executado quando a dependência é atendida.

  • 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 recompilar seu pacote com a versão posterior e executá-lo também 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 os binários do VSPackage, você também deve considerar formatos de arquivo de solução e de projeto. Se o VSPackage criar um novo tipo de projeto, você deverá 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 Atualizar projetos personalizados.