Choix entre les VSPackages partagés et versionChoosing Between Shared and Versioned VSPackages

Différentes versions de Visual Studio peuvent coexister sur le même ordinateur.Different versions of Visual Studio can coexist on the same computer. Les VSPackages peut prendre en charge toute combinaison de Visual StudioVisual Studio versions.VSPackages can support any mix of Visual StudioVisual Studio versions.

Vous pouvez activer des installations côte à côte des VSPackages par le biais de deux stratégies, la stratégie partagée ou la stratégie de contrôle de version du.You can enable side-by-side installations of VSPackages through either of two strategies, the shared strategy or the versioned strategy. Les deux prendre en charge la présence de plusieurs versions de Visual StudioVisual Studio et associé les versions de la .NET Framework.NET Framework.Both accommodate the presence of multiple versions of Visual StudioVisual Studio and associated versions of the .NET Framework.NET Framework.

Dans la stratégie partagée, un VSPackage est enregistré pour une utilisation dans plusieurs versions de Visual StudioVisual Studio.In the shared strategy, one VSPackage is registered for use in multiple versions of Visual StudioVisual Studio. Dans la stratégie de contrôle de version du, plusieurs DLL VSPackage sont installés, une pour chaque version de Visual StudioVisual Studio pris en charge.In the versioned strategy, multiple VSPackage DLLs are installed, one for each version of Visual StudioVisual Studio that you support.

Packages VS partagésShared VSPackages

À l’aide d’un VSPackage partagé est appropriée lorsque vous utilisez le VSPackage même dans plusieurs versions de Visual StudioVisual Studio.Using a shared VSPackage is appropriate when you use the same VSPackage in multiple versions of Visual StudioVisual Studio. Pour implémenter un VSPackage partagé, vous devez effectuer les étapes suivantes :To implement a shared VSPackage, you must take the following steps:

  • Rendre votre VSPackage compatibles avec plusieurs versions de Visual StudioVisual Studio.Make your VSPackage compatible with multiple versions of Visual StudioVisual Studio. Par conséquent, les deux méthodes d’exécution sont disponibles :Two ways of doing so are available:

    • Limiter votre VSPackage à l’aide uniquement les fonctionnalités de la version la plus ancienne de Visual StudioVisual Studio pris en charge.Limit your VSPackage to using only the features of the earliest version of Visual StudioVisual Studio that you support.

    • Programmer un VSPackage pour s’adapter à la version de Visual StudioVisual Studio dans lequel elle s’exécute.Program your VSPackage to adapt to the version of Visual StudioVisual Studio in which it is running. Ensuite, si l’échec des requêtes de services plus récents, votre VSPackage peut offrir autres services qui sont pris en charge dans les versions antérieures de Visual StudioVisual Studio.Then, if queries for newer services fail, your VSPackage can offer other services that are supported in older versions of Visual StudioVisual Studio.

  • Inscrire votre VSPackage en conséquence.Register your VSPackage appropriately. Pour plus d’informations, consultez VSPackage inscription et gérés de l’inscription du VSPackage.For more information, see VSPackage Registration and Managed VSPackage Registration.

  • Inscrire des extensions de fichier en conséquence.Register file extensions appropriately. Pour plus d’informations, consultez l’inscription des Extensions de nom de fichier pour les déploiements côte à côte.For more information, see Registering File Name Extensions for Side-By-Side Deployments.

  • Créer un programme d’installation qui déploie votre VSPackage pour les versions appropriées des Visual StudioVisual Studio.Create an installer that deploys your VSPackage for the appropriate versions of Visual StudioVisual Studio. Pour plus d’informations, consultez l’installation de VSPackages avec Windows Installer et gestion des composants.For more information, see Installing VSPackages With Windows Installer and Component Management.

  • Résoudre le problème de collisions de l’inscription.Address the issue of registration collisions. Pour plus d’informations, consultez VSPackage inscription.For more information, see VSPackage Registration.

  • Ce que les fichiers partagés et de contrôle de version du respectent le décompte de références pour autoriser la sécurité de l’installation et la suppression de plusieurs versions.Ensure that both shared and versioned files respect reference counting to allow safe installation and removal of multiple versions. Pour plus d’informations, consultez gestion des composants.For more information, see Component Management.

VSPackages avec versionVersioned VSPackages

Sous la stratégie de contrôle de version du VSPackage, vous créez un VSPackage pour chaque version de Visual StudioVisual Studio pris en charge.Under the versioned VSPackage strategy, you create one VSPackage for each version of Visual StudioVisual Studio that you support. Cela est approprié lorsque vous prévoyez tirer parti des services fournis par les versions ultérieures de Visual StudioVisual Studio, car chaque VSPackage peut évoluer sans affecter les autres.Doing this is appropriate when you expect to take advantage of services provided by later versions of Visual StudioVisual Studio, because each VSPackage can evolve without affecting the others. Toutefois, la stratégie de version de la création de plusieurs fichiers binaires à partir d’une base de code unique ou à partir de plusieurs bases de code indépendant, susceptible d’entraîner plus développement initial à la stratégie partagée.Nevertheless, the versioned strategy of creating multiple binaries, either from a single code base or from multiple independent code bases, might entail more initial development than the shared strategy. En outre, les tâches de configuration supplémentaires peut être requis, car vous devez créer un programme d’installation distinct pour chaque version ou un programme d’installation unique qui détecte les versions de Visual StudioVisual Studio qui sont installés et qui prend en charge de votre VSPackage.Also, additional setup work might be required because you must create either a separate setup for each version or a single setup that detects the versions of Visual StudioVisual Studio that are installed and that your VSPackage supports.

Compatibilité binaireBinary Compatibility

En règle générale, la compatibilité binaire permet VSPackages en code natif développés avec les versions antérieures de Visual Studio pour s’exécuter dans les versions ultérieures de Visual Studio.Generally, binary compatibility enables native-code VSPackages developed with earlier versions of Visual Studio to run in later versions of Visual Studio. Toutefois, il existe trois exceptions importantes :However, there are three important exceptions:

  • Si votre VSPackage s’appuie sur une version particulière du common language runtime, elle doit déterminer quelle version de Visual StudioVisual Studio qu’il est en cours d’exécution.If your VSPackage relies on a particular version of the common language runtime, then it must determine in which version of Visual StudioVisual Studio it is running.

  • Un VSPackage peut avoir une dépendance sur une fonctionnalité spécifique d’un autre VSPackage ou un autre produit.A VSPackage might have a dependency on a specific feature of another VSPackage or another product. Par conséquent, le VSPackage peut s’exécuter uniquement lorsque la dépendance est satisfaite.Consequently, the VSPackage can run only where the dependency is satisfied.

  • Un VSPackage peut être affecté par un correctif de sécurité dans un Visual StudioVisual Studio service pack ou une version ultérieure de Visual StudioVisual Studio.A VSPackage might be affected by a security fix in a Visual StudioVisual Studio service pack or a later version of Visual StudioVisual Studio. Dans ce cas, un VSPackage développées avec une version antérieure de la Kit de développement logiciel Visual StudioVisual Studio SDK ne peut pas s’exécuter dans les versions de Visual StudioVisual Studio après le correctif de sécurité a été appliqué.In those cases, a VSPackage developed with an earlier version of the Kit de développement logiciel Visual StudioVisual Studio SDK might not run in versions of Visual StudioVisual Studio after the security fix was applied. Toutefois, vous pouvez reconstruire votre package avec la version plus récente et exécuter également dans les versions antérieures.However, you can rebuild your package with the later version and have it also run in earlier versions.

    VSPackages gérés doivent être générés à l’aide d’une version de Visual StudioVisual Studio et Kit de développement logiciel Visual StudioVisual Studio SDK qui correspond à la version cible du Visual StudioVisual Studio.Managed VSPackages must be built using a version of Visual StudioVisual Studio and the Kit de développement logiciel Visual StudioVisual Studio SDK that match the target version of Visual StudioVisual Studio.

    En plus de la planification de la compatibilité binaire pour vos fichiers binaires VSPackage, vous également devez prendre en compte la solution et projet des formats de fichier.In addition to planning for binary compatibility for your VSPackage binaries, you also should consider solution and project file formats. Si votre VSPackage crée un nouveau type de projet, vous devez décider si elle peut s’exécuter dans une version unique ou dans plusieurs versions de Visual StudioVisual Studio.If your VSPackage creates a new project type, you must decide whether it can run in just one version or in multiple versions of Visual StudioVisual Studio. Pour plus d’informations, consultez la mise à niveau des projets personnalisés.For more information, see Upgrading Custom Projects.

Voir aussiSee Also

L’installation de VSPackages avec Windows Installer Installing VSPackages With Windows Installer
Gestion des composantsComponent Management