Caché de ensamblados global

Cada equipo donde se instala Common Language Runtime tiene una memoria caché de código denominada caché de ensamblados global. La caché de ensamblados global almacena los ensamblados designados específicamente para ser compartidos por varias aplicaciones del equipo.

Se recomienda compartir los ensamblados mediante su instalación en la caché de ensamblados global 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 explícitamente necesario compartir un ensamblado en concreto. Además, no es necesario instalar los ensamblados en la caché de ensamblados global para que obtenga acceso a ellos el código de interoperabilidad COM o el código no administrado.

Nota

Habrá algunos escenarios en los que no desee instalar un ensamblado en la caché de ensamblados global. Si coloca uno de los ensamblados que componen una aplicación en la memoria caché de ensamblados global, no podrá replicar ni instalar la aplicación utilizando el comando xcopy para copiar el directorio de la aplicación. También debe mover el ensamblado en la caché de ensamblados global.

Existen varias formas de implementar un ensamblado en la caché de ensamblados global:

  • Usar un instalador diseñado para funcionar con la caché de ensamblados global. Es la opción preferida para instalar ensamblados en la caché de ensamblados global.

  • Utilice la herramienta de desarrollador Caché de ensamblados global (Gacutil.exe), que se suministra con .NET Framework SDK.

  • Usar el Explorador de Windows para incluir ensamblados en la caché.

    Nota

    En escenarios de implementación, se recomienda utilizar Windows Installer 2.0 para instalar los ensamblados en la caché de ensamblados global. Utilice el Explorador de Windows o la herramienta Caché de ensamblados global sólo en escenarios de programación, porque no proporcionan funciones de recuento de referencias de ensamblados y otras funciones que se incluyen con Windows Installer.

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é de ensamblados global está instalada en un subdirectorio del directorio systemroot, hereda la lista (ACL) de dicho directorio. Es recomendable que sólo puedan eliminar archivos de la caché de ensamblados global los usuarios que tengan privilegios de administrador.

Los ensamblados implementados en la caché de ensamblados global deben tener nombres seguros. Cuando se agrega un ensamblado a la caché de ensamblados global, se realizan comprobaciones de integridad de todos los archivos que componen el ensamblado. La caché realiza estas comprobaciones de integridad para garantizar que no se ha manipulado ningún ensamblado, por ejemplo, cuando se ha modificado un archivo pero el manifiesto no refleja el cambio.

Vea también

Conceptos

Ensamblados con nombre seguro

Otros recursos

Ensamblados en Common Language Runtime
Trabajar con ensamblados y la Caché de ensamblados global