Share via


Conceptos de aplicaciones aisladas y ensamblados simultáneos

Una aplicación se considera como aplicación aislada si todos sus componentes son ensamblados en paralelo.Un ensamblado simultáneo es una colección de grupos de recursos - uno de archivos DLL, clases de ventanas, servidores COM, bibliotecas de tipos, o interfaz- que se implementan juntos y creados disponibles para que una aplicación utilice en tiempo de ejecución.Normalmente, un ensamblado simultáneo consta de uno o varios archivos DLL.

Compartido o privado

Un ensamblado simultáneo puede ser compartido o privado.Ensamblados en paralelo compartidos se puede utilizar por varias aplicaciones que especifican, en los manifiestos, una dependencia en el ensamblado.Varias versiones de un ensamblado simultáneo se pueden compartir por varias aplicaciones que se ejecuten al mismo tiempo.ensamblado privado es un ensamblado que se implementa con una aplicación para el uso exclusivo de esa aplicación.Los ensamblados privados se instalan en la carpeta que contiene el archivo ejecutable de la aplicación o en una de sus subcarpetas.

Manifiestos y orden de búsqueda

Las aplicaciones aisladas y ensamblados en paralelo son descritos por manifiestos.Un manifiesto es un documento XML que puede ser un archivo externo o se pueden insertar en una aplicación o un ensamblado como un recurso.El archivo de manifiesto de una aplicación aislada se utiliza para administrar los nombres y las versiones de los ensamblados en paralelo compartidos con los que se debe enlazar la aplicación en tiempo de ejecución.El manifiesto de un ensamblado simultáneo especifica los nombres, versiones, recursos y ensamblados dependientes de los ensamblados en paralelo.Para un ensamblado simultáneo compartido, el manifiesto se instala en %WINDIR%\WinSxS\Manifests \.En el caso de un ensamblado privado, recomendamos que incluya el manifiesto en el archivo DLL como recurso con un identificador igual a 1.También puede proporcionar al ensamblado privado el nombre del archivo DLL.Para obtener más información, vea Ensamblados privados.

En tiempo de ejecución, Windows utiliza la información de ensamblado del manifiesto de aplicación para buscar y cargar el ensamblado simultáneo correspondiente.Si una aplicación aislada especifica una dependencia de ensamblado, el sistema operativo buscará primero entre los ensamblados compartidos en la caché de ensamblados nativa en %WINDIR%\WinSxS \.Si no encuentra el ensamblado necesario, el sistema operativo buscará un ensamblado privado en la carpeta de la estructura de directorios de la aplicación.Para obtener más información, vea Secuencia de búsqueda de ensamblados.

Cambiar las dependencias

Puede cambiar las dependencias después de una aplicación se han implementadas modificando Archivos de configuración de editor y Archivos de configuración de la aplicación.Un archivo de configuración de editor, también conocido como archivo de directivas del editor, es un archivo XML que redirige aplicaciones y ensamblados globalmente de una versión de un ensamblado simultáneo a utilizar otra del mismo ensamblado.Por ejemplo, podría cambiar una dependencia cuando una corrección de corrección de errores o de seguridad se implementa para un ensamblado simultáneo y desea redirigir todas las aplicaciones para utilizar la versión fija.Un archivo de configuración de la aplicación es un archivo XML que redirige una aplicación específica de una versión de un ensamblado simultáneo a utilizar otra del mismo ensamblado.Puede utilizar un archivo de configuración de la aplicación para redirigir una aplicación determinada para utilizar una versión de un ensamblado simultáneo diferente del que se define en el archivo de configuración de editor.Para obtener más información, vea Configuración.

Bibliotecas de Visual C++

En Visual Studio 2005 y Visual Studio 2008, las bibliotecas redistribuibles como ATL, MFC, CRT, C++ estándar, OpenMP, MSDIA y estándar se implementan como ensamblados en paralelo compartidos en la caché de ensamblados nativa.En Visual Studio 2010 y Visual Studio 2012, las bibliotecas redistribuibles utilizan la implementación central.De forma predeterminada, todas las aplicaciones que se compilan en Visual C++ se compilan con el manifiesto incrustado en el archivo binario final, y el manifiesto se describen las dependencias del binario en las bibliotecas de Visual C++.Para entender la generación de manifiestos para aplicaciones de Visual C++, vea Introducción a la generación de manifiestos para los programas de C/C++.Un manifiesto no es necesaria para las aplicaciones que se vinculan estáticamente a las bibliotecas que utilizan, o que usan la implementación local.Para obtener más información sobre la implementación, vea Implementación en Visual C++ 2010.

Vea también

Otros recursos

Compilar aplicaciones aisladas y ensamblados simultáneos de C/C++