Nota del autor

Si la entrada que estás leyendo carece de imágenes, no se ve el vídeo que teóricamente lleva incrustado o el código fuente mostrado aparece sin formato, podéis conocer los motivos aquí. Poco a poco iré restableciendo la normalidad en el blog.
Este blog es un archivo de los artículos situados previamente en Lobosoft.es y ha dejado de ser actualizado. Las nuevas entradas pueden encontrarse en www.lobosoft.es. Un saludo,
Lobosoft.

viernes, 28 de mayo de 2010

Cómo añadir nuestros ensamblados en el GAC a Visual Studio

Cuando desarrollamos una librería que deseamos que sea usada por muchas de nuestras aplicaciones o desplegamos una (o varias) que incluyen componentes, controles o funcionalidad disponible como, por ejemplo, la de una API, deseamos que esté disponible para nuestras aplicaciones. El GAC resulta, como bien sabéis, el lugar idóneo desde el que gestionar las distintas versiones de las DLLs de código administrado en nuestro sistema. Sin embargo, aunque registremos las DLLs en el mismo, estas no aparecen en el diálogo de Visual Studio para agregar una referencia a nuestro proyecto. Esto ocurre porque Visual Studio busca los ensamblados en rutas del tipo C:\Windows\Microsoft.NET\Framework\vx.y.z, pero aunque el CLR sea capaz de cargar ensamblados del GAC, este es independiente de nuestro IDE preferido.


Supongamos que ubicamos nuestras DLLs en la ruta C:\SomePath\LsAssemblies y las registramos en el GAC usando gacutil.exe. Cuando Visual Studio (en su versión x.y) busca los ensamblados al añadir una referencia lo hace a través de la clave de registro


HKLM\Software\VisualStudio\x.y\AssemblyFolders


Cada subclave representa una carpeta de ensamblados. Aunque el nombre no tiene la menor relevancia, el valor predeterminado debe contener la ruta completa a la carpeta que contendrá los nuestros. Por ejemplo:


HKLM\Software\Microsoft\VisualStudio\9.0\AssemblyFolders\LobosoftAssemblies \ (Default value): C:\SomePath\LsAssemblies


Como apunte final, cabría señalar que si en la ruta donde situamos las DLLs dejamos también los archivos para la depuración (PDB) y la documentación (XML), Visual Studio los usará cuando cargue la DLL para permitir la depuración en ese ensamblado y mostrar la documentación de Intellisense.


En la Visual Studio Gallery he encontrado también una extensión que nos ayuda a referencias DLLs del GAC. Su nombre es Muse.VSExtensions y permite mostrar un diálogo “Add GAC Reference” en nuestro Visual Studio 2010.

No hay comentarios:

Publicar un comentario