Cómo agregar una DLL a gac en Vista
-
09-06-2019 - |
Pregunta
Cuando arrastro y suelto un archivo DLL en la carpeta de ensamblaje en Vista, aparece el error "Acceso denegado:mydll.dll".¿Cómo puedo omitir el mensaje de error y agregar mi dll a gac?
Solución
Supongo que tienes que hacerlo como administrador... intenta deshabilitar UAC o usar gacutil.exe para agregar tu ensamblado.
Otros consejos
Usar correr como comando para ejecutar gacutil como usuario con derechos de administrador local para registrar el dll en GAC.
Es posible que no ubique gacutil.exe en su carpeta de Windows mientras usa Vista.No está incluido debido a lo del "Programa de logotipos, bla, bla" de Vista.Intente utilizar el instalador de Windows para agregar sus ensamblados a gac.Esta es la forma recomendada.
Y nunca olvides este proverbio tradicional de los ogros:"Bi siktir git cay koy".
Puedes hacerlo con gacutil.exe.Está localizado en:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
Sin embargo, solo está ahí si instaló el SDK de .NET (no solo el Redistribuible de .Net).Pero puedes copiarlo desde tu máquina desarrolladora.
El ensamblado (dll) también debe tener un nombre seguro si va a residir en el GAC.
http://msdn.microsoft.com/en-us/library/wd40t7ad(VS.80).aspx
Usando la línea de comando, siga los siguientes pasos:
Abra el símbolo del sistema de Visual Studio
Primero abra el símbolo del sistema de Visual Studio (para Visual Studio 2008, la ruta es Programas --> Visual Studio 2008 --> Herramientas de Visual Studio --> Símbolo del sistema de Visual Studio 2008) Todos los archivos mencionados en los siguientes pasos se crearán en Visual Ruta del símbolo del sistema de Studio 2008.En mi caso es C:\Program Files\Microsoft Visual Studio 9.0\VC
- Genere un keyfile sn -k keypair.snk
- Obtenga el MSIL para la Asamblea Ildasm Someassembly.dll /out: Someassembly.il
- Cambie el nombre de la asamblea original, en caso de que Ren Someassembly.dll Someassembly.dll.orig
- Construya un nuevo ensamblaje a partir de la salida de MSIL y su perfil de teclas Someassembly.il /dll /key=Keypair.snk
- Instale el DLL en el Gac Gacutil -I Someassembly.dll