Scegliere tra pacchetti VSPackage condivisi e con controllo delle versioni

Diverse versioni di Visual Studio possono coesistere nello stesso computer. I pacchetti VSPackage possono supportare qualsiasi combinazione di versioni di Visual Studio.

È possibile abilitare installazioni side-by-side di VSPackage tramite una delle due strategie, la strategia condivisa o la strategia con controllo delle versioni. Entrambe supportano la presenza di più versioni di Visual Studio e delle versioni associate di .NET Framework.

Nella strategia condivisa, un VSPackage viene registrato per l'uso in più versioni di Visual Studio. Nella strategia con controllo delle versioni vengono installate più DLL VSPackage, una per ogni versione di Visual Studio supportata.

Pacchetti VSPackage condivisi

L'uso di un VSPackage condiviso è appropriato quando si usa lo stesso VSPackage in più versioni di Visual Studio. Per implementare un VSPackage condiviso, è necessario seguire questa procedura:

  • Rendere il VSPackage compatibile con più versioni di Visual Studio. Sono disponibili due modi per farlo:

    • Limitare il pacchetto VSPackage all'uso solo delle funzionalità della versione meno recente di Visual Studio supportata.

    • Programmare il pacchetto VSPackage per adattarsi alla versione di Visual Studio in cui è in esecuzione. Se quindi le query per i servizi più recenti hanno esito negativo, il pacchetto VSPackage può offrire altri servizi supportati nelle versioni precedenti di Visual Studio.

  • Registrare il pacchetto VSPackage in modo appropriato. Per altre informazioni, vedere Registrazione vsPackage e registrazione vspackage gestita.

  • Registrare le estensioni di file in modo appropriato. Per altre informazioni, vedere Registrazione delle estensioni di file per le distribuzioni side-by-side.

  • Creare un programma di installazione che distribuisca il pacchetto VSPackage per le versioni appropriate di Visual Studio. Per altre informazioni, vedere Installazione di pacchetti VSPackage con Windows Installer e gestione dei componenti.

  • Risolvere il problema delle collisioni di registrazione. Per altre informazioni, vedere Registrazione di VSPackage.

  • Assicurarsi che i file condivisi e con controllo delle versioni rispettino il conteggio dei riferimenti per consentire l'installazione sicura e la rimozione di più versioni. Per altre informazioni, vedere Gestione dei componenti.

Pacchetti VSPackage con versione

Nella strategia VSPackage con versione si crea un VSPackage per ogni versione di Visual Studio supportata. Questa operazione è appropriata quando si prevede di sfruttare i servizi forniti dalle versioni successive di Visual Studio, perché ogni VSPackage può evolversi senza influire sugli altri. Tuttavia, la strategia con controllo delle versioni per la creazione di più file binari, da una singola codebase o da più codebase indipendenti, potrebbe comportare uno sviluppo più iniziale rispetto alla strategia condivisa. Inoltre, potrebbe essere necessario eseguire operazioni di installazione aggiuntive perché è necessario creare un'installazione separata per ogni versione o una singola installazione che rileva le versioni di Visual Studio installate e supportate dal pacchetto VSPackage.

Compatibilità binaria

In genere, la compatibilità binaria consente ai pacchetti VSPackage di codice nativo sviluppati con versioni precedenti di Visual Studio di essere eseguiti nelle versioni successive di Visual Studio. Esistono tuttavia tre eccezioni importanti:

  • Se il VSPackage si basa su una versione specifica di Common Language Runtime, deve determinare in quale versione di Visual Studio è in esecuzione.

  • Un VSPackage potrebbe avere una dipendenza da una funzionalità specifica di un altro VSPackage o di un altro prodotto. Di conseguenza, il pacchetto VSPackage può essere eseguito solo in caso di soddisfazione della dipendenza.

  • Un pacchetto VSPackage potrebbe essere interessato da una correzione di sicurezza in un Service Pack di Visual Studio o da una versione successiva di Visual Studio. In questi casi, un VSPackage sviluppato con una versione precedente di Visual Studio SDK potrebbe non essere eseguito nelle versioni di Visual Studio dopo l'applicazione della correzione di sicurezza. Tuttavia, è possibile ricompilare il pacchetto con la versione successiva e eseguirlo anche nelle versioni precedenti.

    I PACCHETTI VSPackage gestiti devono essere compilati usando una versione di Visual Studio e Visual Studio SDK che corrispondono alla versione di destinazione di Visual Studio.

    Oltre a pianificare la compatibilità binaria per i file binari VSPackage, è consigliabile prendere in considerazione anche i formati di file di soluzione e di progetto. Se il pacchetto VSPackage crea un nuovo tipo di progetto, è necessario decidere se può essere eseguito in una sola versione o in più versioni di Visual Studio. Per altre informazioni, vedere Aggiornamento di progetti personalizzati.