Trabajar con ensamblados y la Caché de ensamblados global
Si se piensa compartir un ensamblado entre varias aplicaciones, puede instalarlo en la caché global de ensamblados. Cada equipo tiene esta memoria caché de código donde se instala Common Language Runtime. La caché global de ensamblados almacena los ensamblados designados específicamente para ser compartidos por varias aplicaciones del equipo. Un ensamblado debe tener un nombre seguro para que se pueda instalar en la caché global de ensamblados.
Nota |
---|
Los ensamblados ubicados en la caché global de ensamblados deben tener el mismo nombre de ensamblado y de archivo, sin contar la extensión de nombre de archivo.Por ejemplo, un ensamblado con el nombre de ensamblado myAssembly debe tener un nombre de archivo myAssembly.exe o myAssembly.dll. |
Se recomienda compartir los ensamblados mediante su instalación en la caché global de ensamblados sólo cuando sea necesario. Como norma general, mantenga las dependencias de los ensamblados privadas y coloque los ensamblados en el directorio de la aplicación, a menos que sea necesario compartir un ensamblado en concreto. Además, no es necesario instalar los ensamblados en la caché global de ensamblados para que pueda tener acceso a ellos el código de interoperabilidad COM o el código no administrado.
Existen varias razones para instalar un ensamblado en la caché global de ensamblados:
Ubicación compartida.
Los ensamblados que van a usar las aplicaciones se pueden poner en la caché global de ensamblados. Por ejemplo, si todas las aplicaciones deben usar un ensamblado ubicado en la caché global de ensamblados, se puede agregar una instrucción de directiva de versión al archivo Machine.config que redirige las referencias al ensamblado.
Seguridad de archivos.
Con frecuencia, los administradores protegen el directorio systemroot con una Lista de control de acceso (ACL) para controlar el acceso de escritura y ejecución. Puesto que la caché global de ensamblados está instalada en el directorio systemroot, hereda la lista (ACL) de dicho directorio. Es recomendable que sólo puedan eliminar archivos de la caché global de ensamblados los usuarios que tengan privilegios de administrador.
Control de versiones en paralelo.
En la caché global de ensamblados se pueden guardar muchas copias de ensamblados con el mismo nombre pero con distinta información de versión.
Ubicación de búsqueda adicional.
Common Language Runtime busca en la caché global de ensamblados un ensamblado que coincida con la solicitud de ensamblado antes de buscar o utilizar la información de código base en un archivo de configuración.
Tenga en cuenta que hay escenarios en los que no deseará instalar un ensamblado en la memoria caché global de ensamblados. Si coloca uno de los ensamblados que componen una aplicación en la memoria caché global de ensamblados, ya no podrá replicar ni instalar la aplicación utilizando XCOPY para copiar el directorio de la aplicación. En este caso, debe mover también el ensamblado a la caché global de ensamblados.
En esta sección
Cómo: Instalar un ensamblado en la Caché de ensamblados global
Describe cuatro formas de instalar un ensamblado en la caché global de ensamblados.Cómo: Consultar el contenido de la Caché de ensamblados global
Explica cómo usar Gacutil.exe (Herramienta Caché global de ensamblados) para ver el contenido de la caché global de ensamblados.Cómo: Quitar un ensamblado de la Caché de ensamblados global
Explica cómo utilizar Gacutil.exe (Herramienta Caché global de ensamblados) para quitar un ensamblado de la caché global de ensamblados.Utilizar componentes con servicio junto con la Caché de ensamblados global
Explica por qué se deben colocar los componentes con servicio (componentes COM+ administrados) en la caché global de ensamblados.
Secciones relacionadas
Crear ensamblados
Proporciona información general sobre la creación de ensamblados.Caché de ensamblados global
Describe la caché global de ensamblados.Cómo: Ver el contenido de un ensamblado
Explica cómo utilizar Ildasm.exe (Desensamblador de MSIL) para ver la información del Lenguaje intermedio de Microsoft (MSIL) de un ensamblado.Cómo el motor en tiempo de ejecución ubica ensamblados
Describe cómo Common Language Runtime busca y carga los ensamblados que conforman la aplicación.Programar con ensamblados
Describe los ensamblados, los bloques de creación de las aplicaciones administradas.