2011-02-17 45 views
6

He instalado el conjunto fuerte llamado TestReflection en el GAC (estoy usando .NET 4.0 y VS 2010).¿Cómo hacer referencia al ensamblaje desde GAC?

Las diferentes versiones del TestReflection DLL están en GAC de .NET 4.0 (C:\WINDOWS\Microsoft.NET\assembly\GAC_32\TestReflection\), sin embargo, el conjunto no aparece en el "Proyecto" -> "Agregar referencia" caja de VS 2010.

¿Cómo puede Me refiero a mi ensamblado desplegado en GAC en el momento del diseño de otro proyecto?

This página dice que:

No se puede agregar referencias del caché de ensamblados global (GAC), ya que es estrictamente parte del entorno de tiempo de ejecución.

En referencia a esta afirmación, me gustaría saber cómo hacer que el ensamblado compartido DLL de su proyecto para otros consumidores sea el requisito.

+0

Las trayectorias de referencia en la ventana Propiedades le permite seleccionar ruta para conjuntos de referencia. . elige la ruta GAC –

Respuesta

8

Los dll que se muestran en la pestaña .Net del cuadro de diálogo "Agregar referencias" no son en realidad los registrados en el GAC. Se encuentran buscando algunas rutas en su sistema de archivos.

Los caminos que se busca se encuentran por Visual Studio mirando encima de las entradas de registro siguientes:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework\{Version}\AssemblyFoldersEx\ 

debería haber algún teclas añaden allí ya, así que si usted quiere que su propia DLL para aparecer en el. Pestaña Net, puede agregarlo a una de las carpetas definidas allí. También podría agregar una nueva clave de registro que apunte a una carpeta personalizada, que solo contendría su propio dll.

El GAC está destinado solo para cargar ensamblados en tiempo de ejecución después de que se haya implementado su aplicación, por lo que no creo que deba usarlo durante el desarrollo. Cuando implemente su aplicación, asegúrese de configurar "Copiar local" como falso en su referencia para que el dll no se copie a la carpeta bin, y luego instálelo en el GAC y se cargará desde allí.

0

Si desea agregar referencias de Global Assembly Cache a su proyecto VS2010, hay una extensión que puede usar: Muse.VSExtensions.

Tiene algunos caprichos pero hace un trabajo decente. Verifíquelo ...

4

Otra opción simple sería editar manualmente el archivo de proyecto como XML en Visual Studio (Primero deberá descargar el proyecto) y simplemente agregar el nodo <Reference Include="<name of dll>" /> en el archivo de proyecto MSBuild. Después de volver a cargar el proyecto, VS recogerá la referencia sin problemas.

0

La respuesta es las rutas de referencia en las ventanas de propiedades, hay que configurarlo con la ruta GAC ​​ favor ver mi post here:

Cuestiones relacionadas