Compartir a través de


Implementar varias versiones de una aplicación o componente

Los ensamblados diseñados para la ejecución en paralelo 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 en paralelo, 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é global de ensamblados; 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é global de ensamblados.

    Cuando se instala un ensamblado en la caché global de ensamblados, 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é global de ensamblados (Gacutil.exe) pueden instalar los ensamblados en la caché global de ensamblados. La herramienta Caché global de ensamblados 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é global de ensamblados, 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 en paralelo, vea Utilizar Windows Installer para instalar aplicaciones y componentes para la ejecución en paralelo.

  • 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 en paralelo 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é global de ensamblados. 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

Implementar .NET Framework y aplicaciones

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

Otros recursos

Crear varias versiones de una aplicación o componente