Elegir entre VSPackages compartidos y con control de versionesChoosing Between Shared and Versioned VSPackages

Diferentes versiones de Visual Studio pueden coexistir en el mismo equipo.Different versions of Visual Studio can coexist on the same computer. Paquetes VSPackage puede admitir cualquier combinación de Visual StudioVisual Studio versiones.VSPackages can support any mix of Visual StudioVisual Studio versions.

Puede habilitar las instalaciones en paralelo de VSPackages a través de cualquiera de las dos estrategias, la estrategia compartida o la estrategia con control de versiones.You can enable side-by-side installations of VSPackages through either of two strategies, the shared strategy or the versioned strategy. Ambos dar cabida a la presencia de varias versiones de Visual StudioVisual Studio y asociados de versiones 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.

En la estrategia compartida, un VSPackage está registrado para su uso en varias versiones de Visual StudioVisual Studio.In the shared strategy, one VSPackage is registered for use in multiple versions of Visual StudioVisual Studio. En la estrategia con control de versiones, se instalan varios archivos DLL de VSPackage, uno para cada versión de Visual StudioVisual Studio que proporciona soporte técnico.In the versioned strategy, multiple VSPackage DLLs are installed, one for each version of Visual StudioVisual Studio that you support.

VSPackages compartidosShared VSPackages

Uso de un VSPackage compartido es adecuado cuando se usa el mismo paquete de VS en varias versiones de Visual StudioVisual Studio.Using a shared VSPackage is appropriate when you use the same VSPackage in multiple versions of Visual StudioVisual Studio. Para implementar un paquete VSPackage compartido, debe seguir los pasos siguientes:To implement a shared VSPackage, you must take the following steps:

  • Que sea compatible con varias versiones de VS Visual StudioVisual Studio.Make your VSPackage compatible with multiple versions of Visual StudioVisual Studio. Dos maneras de hacerlo por lo que están disponibles:Two ways of doing so are available:

    • Limitar el VSPackage para usar solo las características de la versión anterior de Visual StudioVisual Studio que proporciona soporte técnico.Limit your VSPackage to using only the features of the earliest version of Visual StudioVisual Studio that you support.

    • Programar el paquete de VS para adaptarse a la versión de Visual StudioVisual Studio en que se está ejecutando.Program your VSPackage to adapt to the version of Visual StudioVisual Studio in which it is running. A continuación, si se produce un error en las consultas para los servicios más recientes, el paquete de VS puede ofrecer otros servicios que se admiten en versiones anteriores 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.

  • Registre el VSPackage adecuadamente.Register your VSPackage appropriately. Para obtener más información, consulte VSPackage registro y administra el registro de VSPackage.For more information, see VSPackage Registration and Managed VSPackage Registration.

  • Registrar las extensiones de archivo correctamente.Register file extensions appropriately. Para obtener más información, consulte registrar extensiones de nombre de archivo para las implementaciones de Side-By-Side.For more information, see Registering File Name Extensions for Side-By-Side Deployments.

  • Crear un instalador que se puede implementar el paquete de VS para las versiones adecuadas de Visual StudioVisual Studio.Create an installer that deploys your VSPackage for the appropriate versions of Visual StudioVisual Studio. Para obtener más información, consulte instalar VSPackages con Windows Installer y componente administración.For more information, see Installing VSPackages With Windows Installer and Component Management.

  • Solucionar el problema de conflictos de registro.Address the issue of registration collisions. Para obtener más información, consulte VSPackage registro.For more information, see VSPackage Registration.

  • Asegúrese de que los archivos compartidos y con control de versiones respetan recuento de referencias para permitir la instalación de prueba de errores y eliminación de varias versiones.Ensure that both shared and versioned files respect reference counting to allow safe installation and removal of multiple versions. Para obtener más información, consulte componente administración.For more information, see Component Management.

VSPackages con control de versionesVersioned VSPackages

En la estrategia de VSPackage con control de versiones, crear un VSPackage para cada versión de Visual StudioVisual Studio que proporciona soporte técnico.Under the versioned VSPackage strategy, you create one VSPackage for each version of Visual StudioVisual Studio that you support. Esto resulta adecuado si tiene previsto aprovechar las ventajas de los servicios proporcionados por las versiones posteriores de Visual StudioVisual Studio, porque cada VSPackage puede evolucionar sin que afecte al resto.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. No obstante, la estrategia de creación de varios archivos binarios, de una sola base de código o de varias bases de código independiente, con control de versiones puede implicar más desarrollo inicial de la estrategia compartida.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. Además, el programa de instalación adicionales puede requerirse trabajo porque debe crear o una instalación independiente para cada versión o una única instalación que detecta las versiones de Visual StudioVisual Studio que están instalados y que admita el 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.

Compatibilidad binariaBinary Compatibility

Por lo general, la compatibilidad binaria permite VSPackages de código nativo que se desarrolló con versiones anteriores de Visual Studio para ejecutar en versiones posteriores 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. Sin embargo, hay tres excepciones principales:However, there are three important exceptions:

  • Si el paquete de VS se basa en una versión determinada de common language runtime, debe determinar en qué versión de Visual StudioVisual Studio se está ejecutando.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 puede tener una dependencia en una característica específica de otro VSPackage u otro producto.A VSPackage might have a dependency on a specific feature of another VSPackage or another product. Por lo tanto, el VSPackage puede ejecutar solo donde se satisfizo la dependencia.Consequently, the VSPackage can run only where the dependency is satisfied.

  • Un VSPackage podría verse afectado por una corrección de seguridad en un Visual StudioVisual Studio service pack o una versión posterior 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. En esos casos, un VSPackage desarrollado con una versión anterior de la Visual Studio SDKVisual Studio SDK podría no ejecutarse en las versiones de Visual StudioVisual Studio después de que se aplicó la revisión de seguridad.In those cases, a VSPackage developed with an earlier version of the Visual Studio SDKVisual Studio SDK might not run in versions of Visual StudioVisual Studio after the security fix was applied. Sin embargo, puede volver a generar el paquete con la versión más reciente y hacer que se ejecute también en versiones anteriores.However, you can rebuild your package with the later version and have it also run in earlier versions.

    VSPackages administrado debe compilarse con una versión de Visual StudioVisual Studio y Visual Studio SDKVisual Studio SDK que coincidan con la versión de destino Visual StudioVisual Studio.Managed VSPackages must be built using a version of Visual StudioVisual Studio and the Visual Studio SDKVisual Studio SDK that match the target version of Visual StudioVisual Studio.

    Además de planeación para la compatibilidad binaria de los archivos binarios de VSPackage, también debe considerar soluciones y formatos de archivo del proyecto.In addition to planning for binary compatibility for your VSPackage binaries, you also should consider solution and project file formats. Si el paquete de VS crea un nuevo tipo de proyecto, debe decidir si se puede ejecutar en una sola versión o en varias versiones 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. Para obtener más información, consulte actualizar proyectos personalizados.For more information, see Upgrading Custom Projects.

Vea tambiénSee Also

Instalar VSPackages con Windows Installer Installing VSPackages With Windows Installer
Administración de componentesComponent Management