Implementar varias versiones de una aplicación o componente

Actualización: noviembre 2007

Los ensamblados diseñados para la ejecución simultánea se pueden implementar de las dos formas siguientes:

  • Implementación privada.

    Se puede implementar un ensamblado en el directorio o en un subdirectorio de la aplicación. Common Language Runtime ubica el ensamblado mediante el comportamiento de resolución de enlace predeterminado. Para obtener más información sobre la resolución de enlace de ensamblados, vea Cómo el motor en tiempo de ejecución ubica ensamblados.

    La implementación privada de ensamblados es una forma práctica de implementar una aplicación para la ejecución simultánea, ya que no afecta a otros ensamblados en el equipo. Además, puede implementar de forma privada ensamblados con nombre seguro y sin nombre seguro. Los ensamblados con nombre seguro no tienen que implementarse en la caché de ensamblados global; pueden implementarse en el directorio de la aplicación. Si no tiene intenciones de compartir un ensamblado entre varias aplicaciones, impleméntelo de forma privada en el directorio de la aplicación.

    Otra de las ventajas de la implementación privada es que permite utilizar XCOPY para implementar la aplicación.

  • Implementación en la caché de ensamblados global.

    Cuando se instala un ensamblado en la caché de ensamblados global, el ensamblado es visible para todas las aplicaciones del equipo. Este tipo de implementación es apropiada cuando se va a compartir el ensamblado entre múltiples aplicaciones. Tenga en cuenta que sólo los ensamblados con nombre seguro se pueden implementar en la caché global de ensamblados.

    Windows Installer y la herramienta Caché de ensamblados global (Gacutil.exe) pueden instalar los ensamblados en la caché de ensamblados global. La herramienta Caché de ensamblados global se debe utilizar durante la etapa de desarrollo y de prueba, mientras que Windows Installer es la herramienta preferida para implementar aplicaciones. Windows Installer realiza el seguimiento de las referencias a ensamblados instalados en la caché de ensamblados global, por tanto, los ensamblados compartidos no se desinstalan mientras se utilicen en una aplicación del equipo. Para obtener más información sobre cómo instalar aplicaciones para la ejecución simultánea, vea Utilizar Windows Installer para instalar aplicaciones y componentes para la ejecución simultánea.

  • Implementación mediante el elemento <codeBase>.

    El elemento <codeBase> se puede incluir en el archivo de configuración de la aplicación para ayudar al motor en tiempo de ejecución a localizar ensamblados. El motor en tiempo de ejecución utiliza la ubicación especificada en el elemento <codeBase>, en vez de buscar el ensamblado con las reglas predeterminadas. El elemento <codeBase> se puede utilizar con ensamblados con nombre seguro y sin nombre seguro.

    En los ensamblados sin nombre seguro, los elementos <codeBase> deben ser relativos al directorio de la aplicación. Con este requisito se garantiza que la ejecución simultánea se produce sin conflictos de nombre, en los que el motor en tiempo de ejecución localiza dos ensamblados con el mismo nombre.

    En los ensamblados con nombre seguro, los elementos <codeBase> pueden dirigir el motor en tiempo de ejecución a cualquier ubicación. Los elementos <codeBase> proporcionan un mecanismo para compartir ensamblados con nombre seguro entre aplicaciones sin necesidad de utilizar la caché de ensamblados global. Sin embargo, este método de implementación se debe utilizar con precauciones ya que puede provocar la interrupción de una aplicación si se introduce un elemento <codeBase> incorrecto al almacenar las versiones en caché.

Para obtener más información sobre la implementación, vea Implementar aplicaciones.

Vea también

Conceptos

Utilizar Windows Installer para instalar aplicaciones y componentes para la ejecución simultánea

Instrucciones para crear aplicaciones y componentes para la ejecución simultánea

Otros recursos

Implementar aplicaciones de .NET Framework

Crear varias versiones de una aplicación o componente