Gacutil.exe agrega ensamblado correctamente, pero ensamblado no se puede ver en el explorador. ¿Por qué?


Estoy ejecutando GacUtil.exe desde Visual Studio Command Prompt 2010 para registrar una dll (CatalogPromotion.dll) al GAC. Después de ejecutar la utilidad, dice Assembly Successfully added to the cache, y ejecutar gacutil /l CatalogPromotionDll muestra que el GAC contiene el ensamblado, pero no puedo ver el ensamblado cuando navego a C:\WINDOWS\assembly desde el Explorador de Windows. ¿Por qué no puedo ver el ensamblado en WINDOWS\assembly desde el Explorador de Windows, pero puedo verlo usando gacutil?exe?


Antecedentes: Esto es lo que escribí en el símbolo del sistema para VS Tools:


    C:\_Dev Projects\VS Projects\bmccormack\CatalogPromotion\CatalogPromotionDll\bin
    \Debug>gacutil /i CatalogPromotionDll.dll
    Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1
    Copyright (c) Microsoft Corporation.  All rights reserved.

    Assembly successfully added to the cache

    C:\_Dev Projects\VS Projects\bmccormack\CatalogPromotion\CatalogPromotionDll\bin
    \Debug>gacutil /l CatalogPromotionDll
    Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The Global Assembly Cache contains the following assemblies:
      CatalogPromotionDll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9188a175
    f199de4a, processorArchitecture=MSIL

    Number of items = 1

Sin embargo, la asamblea no aparece en C:\WINDOWS\assembly.

Author: Ben McCormack, 2010-06-16

3 answers

Esto se debe a que utiliza la versión.NET 4.0 de gacutil.exe. Almacena el conjunto en un diferente GAC, el que está en c:\windows\microsoft.net\assembly. Donde se almacenan todos los ensamblados. NET 4.0. No hay un controlador de extensión de shell para ese, las carpetas son visibles tal cual. Puede echar un vistazo con el Explorador de Windows, .verás la estructura interna de las carpetas GAC. No debería tener ningún problema para encontrar su ensamblaje de vuelta, el GAC no es particularmente complicado.

Si el ensamblado está destinado a ser utilizado por una aplicación que se dirige a una versión anterior de.NET, debe usar la versión. NET 2.0 de gacutil.exe, almacenado en C:\Program Archivos \ Microsoft SDKs \ Windows \ v6. 0A \ bin

 104
Author: Hans Passant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-18 13:35:18

Esto se debe a que el ensamblado que está instalando en el GAC se compiló teniendo como objetivo el tiempo de ejecución 4.0. 4.0 Los ensamblajes GAC se almacenan en una ubicación diferente c:\windows\microsoft.net\assembly.

La respuesta aceptada es incorrecta. El uso de. NET 4.0 gacutil para instalar un ensamblado compilado con un tiempo de ejecución 3.5 o anterior funciona bien, y colocará el ensamblado en el directorio que el OP esperaba, c:\windows\assembly.

 2
Author: gravidThoughts,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-30 20:56:44

La ruta es - > C:\Windows\Microsoft.NET\assembly\GAC_MSIL donde se almacenan todos los ensamblados para la versión. net 4.0

 1
Author: bijitm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-05 07:55:44