Compartir a través de


Trabajar con ensamblados y la memoria Caché de ensamblados global

Actualización: noviembre 2007

Si se piensa compartir un ensamblado entre varias aplicaciones, puede instalarlo en la caché de ensamblados global. Cada equipo tiene esta memoria caché de código donde se instala Common Language Runtime. La caché de ensamblados global 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é de ensamblados global.

Nota:

Los ensamblados ubicados en la caché de ensamblados global 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é 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 necesario compartir un ensamblado en concreto. Además, no es necesario instalar los ensamblados en la caché de ensamblados global 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é de ensamblados global:

  • Ubicación compartida.

    Los ensamblados que van a usar las aplicaciones se pueden poner en la caché de ensamblados global. Por ejemplo, si todas las aplicaciones deben usar un ensamblado ubicado en la caché de ensamblados global, 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é de ensamblados global está instalada en el 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.

  • Control de versiones simultáneas.

    En la caché de ensamblados global 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é de ensamblados global 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é de ensamblados global. Si coloca uno de los ensamblados que componen una aplicación en la memoria caché de ensamblados global, 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é de ensamblados global.

En esta sección

Secciones relacionadas