Instalación de un ensamblado en la caché global de ensamblados de .NET Framework

En este artículo se describe cómo instalar un archivo de ensamblado .dll en la caché global de ensamblados de Microsoft .NET Framework y cómo crear un ensamblado que tenga un nombre seguro mediante Visual Studio.

Versión original del producto: .NET Framework, Visual Studio
Número de KB original: 910355

Resumen

Para instalar un archivo de ensamblado .dll en la caché global de ensamblados de .NET Framework, puede usar la herramienta Caché global de ensamblados del SDK de .NET Framework. También puede usar la herramienta Caché global de ensamblados para comprobar que el ensamblado está instalado en la caché global de ensamblados. Para realizar 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 .NET de Visual C# de este artículo, consulte Instalación de un ensamblado en la caché global de ensamblados en Visual C#.

Global assembly cache

La caché global de ensamblados de .NET Framework es una caché de código. La caché global de ensamblados se instala automáticamente en cada equipo que tiene instalado Common Language Runtime de .NET Framework. Cualquier aplicación instalada en el equipo puede acceder a la caché global de ensamblados. La caché global de ensamblados almacena ensamblados designados para compartirse por varias aplicaciones en el equipo. Los ensamblados de componentes se almacenan normalmente en la C:\WINNT\Assembly carpeta .

Nota:

Instale solo un ensamblado en la 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 buscar el ensamblado en el directorio de la aplicación. Además, no es necesario instalar un ensamblado en la caché global de ensamblados para que el ensamblado esté disponible para la interoperabilidad del modelo de objetos de componente de Microsoft (COM) o para el código no administrado.

Un ensamblado

Un ensamblado es una parte fundamental de la programación con .NET Framework. Un ensamblado es un bloque de creación reutilizable y autodescripto de una aplicación de Common Language Runtime de .NET Framework.

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 de 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 distintos componentes de software y puede hacer que esas reglas se apliquen 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 seguro

Un ensamblado debe tener un nombre seguro para instalarse en la caché global de ensamblados. Un nombre seguro es una identidad única global que otra persona no puede suplantar. Mediante el uso de un nombre seguro, evita que los componentes que tienen el mismo nombre entren en conflicto entre sí o que una aplicación que realiza la llamada no los use correctamente. La firma de ensamblado asocia un nombre seguro junto con un ensamblado. La firma de ensamblado también se denomina firma de nombre seguro. Un nombre seguro consta de la siguiente información:

  • 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 clave pública y clave privada

Esta información se almacena en un archivo de clave. El archivo de clave es un archivo de Intercambio de información personal (.pfx) o un certificado del almacén de certificados de Microsoft Windows del usuario actual.

Puede firmar un ensamblado mediante las opciones de la pestaña Firma de project Designer 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 Intercambio de información personal (.pfx)
  • Archivos de clave de nombre seguro (.snk)

Requisitos

Es posible que cumpla los siguientes requisitos antes de instalar un ensamblado en la caché global de ensamblados:

  • Debe tener derechos de administrador en el equipo donde está instalado el ensamblado compartido.
  • Debe instalar el SDK de .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.

Instalación de un ensamblado en la caché global de ensamblados

Este método se basa en cómo crear un ensamblado mediante Visual Studio. Para crear un ensamblado que puedan compartir varias aplicaciones, el ensamblado compartido debe tener un nombre seguro. Además, el ensamblado compartido debe implementarse en la caché global de ensamblados.

Para crear un pequeño ensamblado de Visual C# que tenga un nombre seguro e instalar el archivo .dll compilado en la caché global de ensamblados, siga estos pasos:

  1. Cree un nuevo proyecto de biblioteca de clases de Visual C# denominado GACDemo. Para ello, siga estos pasos:

    1. Inicie Visual Studio.
    2. En el menú Archivo , seleccione Nuevo proyecto.
    3. En la lista Plantillas , seleccione Biblioteca de clases.
    4. En el cuadro Nombre , escriba GACDemo y, a continuación, seleccione Aceptar.
    5. Para guardar el proyecto, presione CTRL+MAYÚS+S.
    6. En el cuadro Ubicación , escriba C:\DemoProjects.
    7. Desactive la casilla Crear directorio para la solución y, a continuación, seleccione Guardar.
  2. Genere un nombre seguro y, a continuación, asocie el archivo de clave de nombre seguro con el ensamblado. Para ello, siga estos pasos:

    1. En el menú Proyecto , seleccione PROPIEDADES GACDemo.

    2. En la ficha Firma, active la caslla Firmar el ensamblado.

    3. En Elegir un archivo de clave de nombre seguro, seleccione <Nuevo>.

    4. En el cuadro de diálogo Crear clave de nombre seguro , active la casilla Proteger mi archivo de clave con una contraseña .

    5. En el cuadro Nombre de archivo de clave , escriba GACDemo.

    6. En el cuadro Escribir contraseña , escriba la contraseña que desea usar.

    7. 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. Siempre se crea un nuevo archivo de clave protegido por una contraseña en el formato de archivo .pfx.

    8. Para compilar el proyecto, presione CTRL+MAYÚS+B.

      Nota:

      No se requiere código adicional para instalar un archivo .dll en la caché global de ensamblados.

  3. Instale el archivo .dll que creó en el paso 2 en la caché global de ensamblados mediante la herramienta Caché global de ensamblados. Para ello, siga estos pasos:

    1. Seleccione Inicio, ejecutar, escriba cmdy, a continuación, seleccione Aceptar.
    2. Cambie el directorio de trabajo actual al directorio donde está instalado el SDK de .NET Framework.
    3. En un símbolo del sistema, escriba el gacutil -I "C:\DemoProjects\GACDemo\bin\Release\GACDemo.dll" comando y presione ENTRAR.

Comprobación de que el ensamblado está instalado en la caché global de ensamblados

Puede usar la herramienta Caché global de ensamblados para comprobar que el ensamblado está instalado en la caché global de ensamblados. Para ello, siga estos pasos:

  1. Seleccione Inicio, ejecutar, escriba cmdy, a continuación, seleccione Aceptar.

  2. Cambie el directorio de trabajo actual al directorio donde está instalado el SDK de .NET Framework.

  3. 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 GACDemo comando en un símbolo del sistema y presione ENTRAR.

    Nota:

    Se muestra la información de instalación sobre el ensamblado GACDemo.

Referencias