Hay un paquete con el que tengo que lidiar que instala los ensamblajes directamente en el GAC (por ejemplo, en algún lugar profundo en% windows% / ensamblaje).
¿Cómo exorcizo el ensamblaje real (la DLL) del GAC en el sistema de archivos normal?
Gracias.
fuente
shfusion.dll
que no admite elDllInstall()
punto de entrada invocadoregsvr32
cuando se pasa la/i
opción. Omitir esa opción permite volver a registrar el componente con éxito.El método descrito aquí es muy fácil:
http://andreasglaser.net/post/2008/08/05/Extract-assembly-from-Global-Assembly-Cache-(GAC)-with-network-drive-mapping.aspx
Resumen del artículo:
\\YourServer\C$\Windows\Assembly
)fuente
Abra el símbolo del sistema y escriba:
Esto debería dar el volcado de todo el GAC
¡Disfrutar!
fuente
Si.
Agregar clave de registro DisableCacheViewer
Cree una nueva clave dword en HKLM \ Software \ Microsoft \ Fusion \ con el nombre DisableCacheViewer y establezca su valor [DWORD] en 1.
Vuelva al Explorador de Windows a la carpeta de ensamblaje y será la vista normal del sistema de archivos.
fuente
Creo que la forma más fácil es hacerlo a través de la línea de comando como lo menciona David. El único truco es que .dll no se encuentra simplemente en C: \ Windows \ Assembly. Tienes que navegar a C: \ Windows \ Assembly \ GAC \ [ASSEMBLY_NAME] \ [VERSION_NUMBER] _ [PUBLIC KEY]. Luego puede hacer una copia usando:
copie [ASSEMBLY_NAME] .dll c: \ (o la ubicación que desee)
Espero que ayude.
fuente
La manera fácil que he encontrado es abrir el símbolo del sistema y examinar la carpeta que mencionas hasta que encuentres la DLL que deseas; luego puedes usar el comando copiar para sacarla. El Explorador de Windows tiene una vista especial "útil" de esta carpeta.
fuente
Abra EJECUTAR y luego escriba
%windir%\assembly\GAC_MSIL
, esto abrirá sus archivos DLL en la vista de carpetas, luego puede navegar a su carpeta llamada dll y abrirla, encontrará su archivo dll y lo copiará fácilmentefuente
Soy el autor de PowerShell GAC . Con PowerShell GAC puede extraer ensamblajes del GAC sin depender de elementos internos del GAC, como cambiar las estructuras de carpetas.
fuente
Esta publicación de blog de MSDN describe tres formas distintas de extraer una DLL del GAC. Un resumen útil de los métodos dados hasta ahora.
fuente
Utilice el explorador de archivos "Total Commander" en su lugar.
fuente
Creo que descubrí una manera de mirar dentro del GAC sin modificar el registro o usar la línea de comandos, powershell o cualquier otro programa:
Cree un nuevo acceso directo (a cualquier lugar). Luego modifique el acceso directo para que el objetivo sea:
Abrir este acceso directo lo lleva a la carpeta del Sistema dentro del GAC (que todos deberían tener) y tiene el maravilloso efecto secundario de permitirle cambiar a un directorio más alto y luego buscar cualquier otra carpeta que desee (y ver los archivos dll, etc.)
Probé esto en Windows 7 y Windows Server 2012.
Nota: No le permitirá usar ese objetivo al crear el acceso directo, pero le permitirá editarlo.
¡Disfrutar!
fuente
simplemente navegue a C: \ Windows encuentre la carpeta [ensamblaje], haga clic derecho y seleccione agregar al archivo
espera un poco
vola tiene un archivo que contiene todos los ensamblajes en su GAC
fuente
Desde un script de Powershell, puedes probar esto. Solo tenía una versión única del ensamblaje en el GAC, por lo que funcionó bien.
donde la ruta de ensamblaje puede usar comodines.
fuente
Otra dirección: simplemente descomprima el archivo MSI y obtenga las golosinas de esa manera. Te salva de la eventual desinstalación. . .
fuente
Copiar desde una línea de comando es innecesario. Escribí el nombre de la DLL en la búsqueda de la ventana de inicio. Elegí Ver más resultados. El del GAC se devolvió en la ventana de búsqueda. Hice clic derecho sobre él y dije abrir la ubicación del archivo. Se abrió en el Explorador de Windows normal. Copié el archivo. Cerré la ventana Hecho.
fuente