Solo busco una breve descripción de GAC para un laico, no un enlace, por favor.
187
Correcto, así que básicamente es una forma de mantener las DLL accesibles a nivel mundial sin preocuparse por los conflictos. No más DLL Hell. Cada arquitectura y versión tiene su propio lugar para vivir.
También tiene su propia forma de navegar en Explorer, así que si vas a
C: \ Windows \ ensamblaje
En Windows Explorer, enumera todas las DLL.
Pero si enciendes cmd
, puedes ver cómo está realmente estructurado:
C: \ Users \ tritter> cd C: \ Windows \ assembly C: \ Windows \ ensamblaje> dir Directorio de C: \ Windows \ assembly 20/07/2009 02:18 PM <DIR> GAC 17/06/2009 04:22 PM <DIR> GAC_32 17/06/2009 04:22 PM <DIR> GAC_64 17/06/2009 04:22 PM <DIR> GAC_MSIL ...recorte... 0 Archivo (s) 0 bytes 9 Dir (s) 90,538,311,680 bytes gratis C: \ Windows \ assembly> cd GAC_64 C: \ Windows \ assembly \ GAC_64> dir Directorio de C: \ Windows \ assembly \ GAC_64 17/06/2009 16:22 <DIR>. 17/06/2009 04:22 PM <DIR> .. 19/01/2008 09:54 AM <DIR> blbproxy ...recorte... 19/01/2008 09:54 AM <DIR> srmlib 19/01/2008 06:11 AM <DIR> System.Data 19/01/2008 06:11 AM <DIR> System.Data.OracleClient ...recorte... 0 Archivo (s) 0 bytes 34 Dir (s) 90,538,311,680 bytes gratis C: \ Windows \ assembly \ GAC_64> cd System.Data C: \ Windows \ assembly \ GAC_64 \ System.Data> dir Directorio de C: \ Windows \ assembly \ GAC_64 \ System.Data 19/01/2008 06:11 AM <DIR>. 19/01/2008 06:11 AM <DIR> .. 04/11/2009 12:20 PM <DIR> 2.0.0.0__b77a5c561934e089 0 Archivo (s) 0 bytes 3 Dir (s) 90,538,311,680 bytes gratis C: \ Windows \ assembly \ GAC_64 \ System.Data> cd 2.0.0.0__b77a5c561934e089 C: \ Windows \ assembly \ GAC_64 \ System.Data \ 2.0.0.0__b77a5c561934e089> dir Directorio de C: \ Windows \ assembly \ GAC_64 \ System.Data \ 2.0.0.0__b77a5c561934e089 04/11/2009 12:20 PM <DIR>. 04/11/2009 12:20 PM <DIR> .. 04/11/2009 12:12 PM 3,008,512 System.Data.dll 1 archivo (s) 3,008,512 bytes 2 Dir (s) 90,538,311,680 bytes gratis C: \ Windows \ assembly \ GAC_64 \ System.Data \ 2.0.0.0__b77a5c561934e089>
Aquí puede ver la versión 2.0.0.0__b77a5c561934e089 de System.Data.
Una DLL se identifica por 5 partes:
Aunque los primeros 3 son generalmente los grandes.
GAC = Caché de Asamblea Global
Vamos a desglosarlo:
Por lo tanto, el GAC debe ser un lugar para almacenar bibliotecas de código para que sean accesibles para todas las aplicaciones que se ejecutan en la máquina.
fuente
Caché de la Asamblea Global
Lo que contiene MSDN puede sorprenderlo ... por lo general, puede leerlo como un artículo. Las partes sencillas y más importantes en la parte superior, los detalles intrincados más profundos. Ciertamente lo explica mejor que yo.
Tenga en cuenta que Visual Studio muestra todas las DLL en el GAC en la pestaña .NET de la ventana Referencias . (Haga clic con el botón derecho en un proyecto en el Explorador de soluciones y seleccione Agregar referencia). Esto debería darle una idea más tangible.
fuente
Biblioteca DLL centralizada.
fuente
El Global Assembly Cache (GAC) es una carpeta en el directorio de Windows para almacenar los ensamblados .NET que están específicamente designados para ser compartidos por todas las aplicaciones ejecutadas en un sistema. Los ensamblajes se pueden compartir entre múltiples aplicaciones en la máquina registrándolos en la caché global de ensamblados (GAC). GAC es una caché local de ensamblajes de todo el equipo mantenida por .NET Framework.
fuente
Exe Application, en primer lugar, referencias de un directorio actual a un subdirectorio. Y luego, directorio del sistema. El directorio del sistema VS6.0 era ..windows / system32. El directorio del sistema .NET es como la siguiente ruta de GAC.
Camino GAC
1) C: \ Windows \ Assembly (para .NET 2.0 ~ 3.5)
2) C: \ Windows \ Microsoft.NET \ assembly (para .NET 4.0)
Cómo instalar un ensamblaje en GAC (como administrador)
1) Arrastrar y soltar
2) Use GacUtil.exe con el símbolo del sistema de Visual Studio
Cómo desinstalar un ensamblaje de GAC (como administrador)
fuente
Es como el registro COM hecho correctamente, con respecto a los archivos físicos, así como a su interfaz e información de ubicación. En COM, los archivos estaban en todas partes, con metadatos centralizados. El GAC centraliza el disparo explosivo.
fuente
GAC (Global Assembly Cache) es donde residen todos los ensamblados .NET compartidos.
fuente