Instalar un ensamblado en la .NET Framework global de ensamblados
En este artículo se describe cómo instalar un archivo de ensamblado .dll en la memoria caché global de ensamblados de Microsoft .NET Framework y crear un ensamblado que tenga un nombre sólido mediante Visual Studio.
Versión del producto original: .NET Framework, Visual Studio
Número KB original: 910355
Resumen
Para instalar un archivo de .dll ensamblado en la .NET Framework global de ensamblados, puede usar la herramienta de caché global de ensamblados .NET Framework SDK. También puede usar la herramienta Caché global de ensamblados para comprobar que el ensamblado está instalado en la memoria caché global de ensamblados. Para llevar a cabo esta tarea, es posible que tenga derechos de administrador en el equipo donde está instalado el ensamblado compartido. Además, debe instalar el SDK de .NET Framework.
Para obtener una versión de Visual C# .NET de este artículo, vea How to install an assembly into the Global Assembly Cache in Visual C#.
Global assembly cache
La .NET Framework global de ensamblados es una caché de código. La memoria caché global de ensamblados se instala automáticamente en cada equipo que tenga instalado .NET Framework common language runtime. Cualquier aplicación instalada en el equipo puede tener acceso a la memoria caché global de ensamblados. La memoria caché de ensamblados global almacena los ensamblados designados para ser compartidos por varias aplicaciones en el equipo. Los ensamblados de componentes normalmente se almacenan en la C:\WINNT\Assembly carpeta.
Nota
Solo instale un ensamblado en la memoria caché global de ensamblados cuando necesite compartir el ensamblado. A menos que se requiera explícitamente el uso compartido de un ensamblado, se recomienda mantener las dependencias de ensamblado privadas y ubicar el ensamblado en el directorio de la aplicación. Además, no es necesario instalar un ensamblado en la memoria caché global de ensamblados para que el ensamblado esté disponible para la interoperabilidad del Modelo de objetos componentes (COM) de Microsoft o para el código no administrado.
Un ensamblado
Un ensamblado es una parte fundamental de la programación con el .NET Framework. Un ensamblado es un bloque de creación reutilizable y autodescripto de una .NET Framework common language runtime.
Un ensamblado contiene uno o varios componentes de código que common language runtime ejecuta. Todos los tipos y todos los recursos del mismo ensamblado forman una versión individual de la unidad. El manifiesto del ensamblado describe las dependencias de versión que especifique para los ensamblados dependientes. Mediante el uso de un ensamblado, puede especificar reglas de versión entre diferentes componentes de software y puede aplicar esas reglas en tiempo de ejecución. Un ensamblado admite la ejecución en paralelo. WHich permite que varias versiones se ejecuten al mismo tiempo.
Firma de nombre fuerte
Un ensamblado debe tener un nombre sólido para instalarse en la memoria caché global de ensamblados. Un nombre fuerte es una identidad única global que no puede ser suplantada por otra persona. Al usar un nombre de seguridad, se evita que los componentes que tienen el mismo nombre entren en conflicto entre sí o que una aplicación de llamada use incorrectamente. La firma de ensamblado asocia un nombre sólido con un ensamblado. La firma de ensamblado también se denomina firma de nombre fuerte. Un nombre sólido consta de la siguiente información:
- El nombre de texto simple del ensamblado
- Número de versión del ensamblado
- La información de referencia cultural sobre el ensamblado, si se proporciona esta información
- Un par de claves públicas y privadas
Esta información se almacena en un archivo de clave. El archivo clave es un archivo de Exchange de información personal (.pfx) o un certificado del almacén de certificados de Microsoft Windows usuario actual.
Puede firmar un ensamblado mediante las opciones de la ficha Firma del Diseñador de Project en Visual Studio. En Visual Studio, el archivo de clave debe almacenarse en la carpeta del proyecto en el equipo local. Visual Studio solo admite los siguientes formatos de archivo:
- Archivos de Exchange información personal (.pfx)
- Archivos de clave de nombre sólido (.snk)
Requisitos
Es posible que cumpla los siguientes requisitos antes de instalar un ensamblado en la memoria caché global de ensamblados:
- Debe tener derechos de administrador en el equipo donde está instalado el ensamblado compartido.
- Debe instalar el SDK .NET Framework.
En este artículo se supone que está familiarizado con los temas siguientes:
- Familiaridad general con ensamblados compartidos en .NET.
- Familiaridad general con el uso de herramientas en un símbolo del sistema.
Instalar un ensamblado en la memoria caché global de ensamblados
Este método se basa en cómo crear un ensamblado mediante Visual Studio. Para crear un ensamblado que pueda compartir varias aplicaciones, el ensamblado compartido debe tener un nombre sólido. Además, el ensamblado compartido debe implementarse en la memoria caché global de ensamblados.
Para crear un pequeño ensamblado de visual C# que tenga un nombre fuerte e instalar el archivo .dll compilado en la memoria caché global de ensamblados, siga estos pasos:
Cree un nuevo proyecto de biblioteca de C# visual denominado GACDemo. Para ello, siga estos pasos:
- Inicie Visual Studio.
- En el menú Archivo, seleccione Nuevo Project.
- En la lista Plantillas, seleccione Biblioteca de clases.
- En el cuadro Nombre, escriba GACDemo y, a continuación, seleccione Aceptar.
- Para guardar el proyecto, presione CTRL+MAYÚS+S.
- En el cuadro Ubicación, escriba
C:\DemoProjects. - Desactive la casilla Crear directorio para la solución y, a continuación, seleccione Guardar.
Genere un nombre sólido y, a continuación, asocie el archivo de clave de nombre sólido con el ensamblado. Para ello, siga estos pasos:
En el menú Project, seleccione Propiedades de GACDemo.
En la ficha Firma, active la caslla Firmar el ensamblado.
En Elegir un archivo de clave de nombre sólido, seleccione <New> .
En el cuadro de diálogo Crear clave de nombre sólido, active la casilla Proteger mi archivo de clave con una contraseña.
En el cuadro Nombre de archivo clave, escriba GACDemo.
En el cuadro Escribir contraseña, escriba la contraseña que desea usar.
En el cuadro Confirmar contraseña, escriba la misma contraseña y, a continuación, seleccione Aceptar.
Nota
Se recomienda usar siempre una contraseña al crear un archivo de clave. Un nuevo archivo de clave protegido por una contraseña siempre se crea en el formato de archivo .pfx.
Para compilar el proyecto, presione CTRL+MAYÚS+B.
Nota
No se requiere código adicional para instalar un archivo .dll en la memoria caché global de ensamblados.
Instale el .dll que creó en el paso 2 en la memoria caché global de ensamblados mediante la herramienta Caché global de ensamblados. Para ello, siga estos pasos:
- Seleccione Inicio, Ejecutar, escriba cmd y, a continuación, seleccione Aceptar.
- Cambie el directorio de trabajo actual al directorio donde está instalado .NET Framework SDK.
- En un símbolo del sistema, escriba el
gacutil -I "C:\DemoProjects\GACDemo\bin\Release\GACDemo.dll"comando y, a continuación, presione ENTRAR.
Comprobar que el ensamblado está instalado en la memoria caché global de ensamblados
Puede usar la herramienta Caché global de ensamblados para comprobar que el ensamblado está instalado en la memoria caché global de ensamblados. Para ello, siga estos pasos:
Seleccione Inicio, Ejecutar, escriba cmd y, a continuación, seleccione Aceptar.
Cambie el directorio de trabajo actual al directorio donde está instalado .NET Framework SDK.
Para mostrar la información de instalación sobre el ensamblado GACDemo, use la herramienta Caché global de ensamblados. Para ello, escriba el
gacutil -l GACDemocomando en un símbolo del sistema y, a continuación, presione ENTRAR.Nota
Se muestra la información de instalación sobre el ensamblado GACDemo.