Elegir entre VSPackages compartidos y con versiones

Las distintas versiones de Visual Studio pueden coexistir en el mismo equipo. VSPackages puede admitir cualquier combinación de versiones de Visual Studio.

Puede habilitar instalaciones en paralelo de VSPackage a través de dos estrategias, la estrategia compartida o la estrategia con versiones. Ambas admiten la presencia de varias versiones de Visual Studio y versiones asociadas de .NET Framework.

En la estrategia compartida, se registra un VSPackage para su uso en varias versiones de Visual Studio. En la estrategia con versiones, se instalan varios archivos DLL de VSPackage, uno para cada versión de Visual Studio que admita.

VSPackages compartidos

El uso de un VSPackage compartido es adecuado cuando se usa el mismo VSPackage en varias versiones de Visual Studio. Para implementar un VSPackage compartido, debe realizar los pasos siguientes:

  • Haga que VSPackage sea compatible con varias versiones de Visual Studio. Hay dos maneras de hacerlo:

    • Limite vsPackage a usar solo las características de la versión más antigua de Visual Studio que admita.

    • Programe vsPackage para adaptarse a la versión de Visual Studio en la que se ejecuta. A continuación, si se producen errores en las consultas de los servicios más recientes, VSPackage puede ofrecer otros servicios compatibles con versiones anteriores de Visual Studio.

  • Registre el VSPackage correctamente. Para obtener más información, consulte Registro de VSPackage y Registro de VSPackage administrado.

  • Registre las extensiones de archivo correctamente. Para obtener más información, consulte Registro de extensiones de nombre de archivo para implementaciones en paralelo.

  • Cree un instalador que implemente vsPackage para las versiones adecuadas de Visual Studio. Para obtener más información, consulte Instalación de VSPackages con Windows Installer y administración de componentes.

  • Solucione el problema de las colisiones de registro. Para obtener más información, consulte Registro de VSPackage.

  • Asegúrese de que los archivos compartidos y con versiones respetan el recuento de referencias para permitir la instalación segura y la eliminación de varias versiones. Para obtener más información, consulte Administración de componentes.

VSPackages con versiones

En la estrategia VSPackage con versiones, se crea un VSPackage para cada versión de Visual Studio que admita. Esto es adecuado cuando se espera aprovechar los servicios proporcionados por versiones posteriores de Visual Studio, ya que cada VSPackage puede evolucionar sin afectar a los demás. Sin embargo, la estrategia con versiones de crear varios archivos binarios, ya sea desde una base de código única o desde varias bases de código independientes, podría implicar un desarrollo más inicial que la estrategia compartida. Además, es posible que se requiera trabajo de instalación adicional porque debe crear una configuración independiente para cada versión o una única instalación que detecte las versiones de Visual Studio que están instaladas y que admite VSPackage.

Compatibilidad binaria

Por lo general, la compatibilidad binaria permite que VSPackages de código nativo desarrollado con versiones anteriores de Visual Studio se ejecuten en versiones posteriores de Visual Studio. Sin embargo, hay tres excepciones importantes:

  • Si VSPackage se basa en una versión determinada de Common Language Runtime, debe determinar en qué versión de Visual Studio se está ejecutando.

  • Un VSPackage puede tener una dependencia de una característica específica de otro VSPackage u otro producto. Por lo tanto, VSPackage solo se puede ejecutar cuando se cumpla la dependencia.

  • Un VSPackage puede verse afectado por una corrección de seguridad en un Service Pack de Visual Studio o una versión posterior de Visual Studio. En esos casos, es posible que un VSPackage desarrollado con una versión anterior del SDK de Visual Studio no se ejecute en versiones de Visual Studio después de aplicar la corrección de seguridad. Sin embargo, puede recompilar el paquete con la versión posterior y hacer que también se ejecute en versiones anteriores.

    Los VSPackage administrados deben compilarse con una versión de Visual Studio y el SDK de Visual Studio que coincidan con la versión de destino de Visual Studio.

    Además de planear la compatibilidad binaria con los archivos binarios de VSPackage, también debe tener en cuenta los formatos de archivo de solución y proyecto. Si VSPackage crea un nuevo tipo de proyecto, debe decidir si se puede ejecutar en una sola versión o en varias versiones de Visual Studio. Para obtener más información, consulte Actualización de proyectos personalizados.