.net - reconoce - ruta gacutil exe
Gacutil.exe agrega correctamente el ensamblaje, pero el ensamblaje no se puede ver en el explorador. ¿Por qué? (3)
Esto se debe a que el ensamblaje que está instalando en la GAC se compiló con el tiempo de ejecución de 4.0. Los ensamblados de 4.0 GAC se almacenan en una ubicación diferente c: / windows / microsoft.net / assembly.
La respuesta aceptada es incorrecta. El uso del gacutil .NET 4.0 para instalar un ensamblado con destino a 3.5 o un tiempo de ejecución anterior funciona bien y colocará el ensamblaje en el directorio que esperaba el OP, c: / windows / assembly.
Estoy ejecutando GacUtil.exe desde el Visual Studio Command Prompt 2010 para registrar una DLL (CatalogPromotion.dll) en el GAC. Después de ejecutar la utilidad, dice que la Assembly Successfully added to the cache
gacutil /l CatalogPromotionDll
Assembly Successfully added to the cache
, y la ejecución de gacutil /l CatalogPromotionDll
muestra que GAC contiene la Asamblea, pero no puedo ver la Asamblea cuando navego a C: / WINDOWS / assembly desde Windows Explorer. ¿Por qué no puedo ver el ensamblaje en WINDOWS / assembly desde el Explorador de Windows pero puedo verlo utilizando gacutil.exe?
Antecedentes: esto es lo que escribí en el indicador de comando de 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, el ensamblaje no aparece en C: / WINDOWS / assembly.
Esto se debe a que utiliza la versión .NET 4.0 de gacutil.exe. Almacena el ensamblaje en un GAC diferente , el de c: / windows / microsoft.net / assembly. Donde se almacenan todos los ensamblados .NET 4.0. No hay un controlador de extensión de shell para eso, las carpetas son visibles como están. Puede echar un vistazo con el Explorador de Windows. Verá la estructura interna de las carpetas GAC. No debería tener ningún problema para recuperar su ensamblaje, el GAC no es particularmente complicado.
Si el ensamblaje está destinado a ser utilizado por una aplicación que se dirige a una versión anterior de .NET, entonces debe usar la versión .NET 2.0 de gacutil.exe, almacenada en C: / Archivos de programa / Microsoft SDKs / Windows / v6.0A / compartimiento
La ruta es -> C: / Windows / Microsoft.NET / assembly / GAC_MSIL donde se almacenan todos los ensamblados para la versión .net 4.0