2011-02-25 21 views
13

Solo tiene una pregunta rápida sobre el GAC
Creé un conjunto Awesome.DLL. Si hubiera firmado, a continuación, instalado en la GAC:¿Por qué mi ensamblaje no está visible en "Agregar referencia> .Net" cuando está instalado en el GAC?

C:\MyApps\Awesome\Awesome\Awesome\bin\Release>sn -k Awesome.snk 
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Key pair written to Awesome.snk 

C:\MyApps\Awesome\Awesome\Awesome\bin\Release>gacutil /i Awesome.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:\MyApps\Awesome\Awesome\Awesome\bin\Release>gacutil /l Awesome.dll 
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: 

Number of items = 0 

Mi problema:

Awesome.DLL no se encuentra en C:\Windows\Assembly o cualquiera de las subcarpetas. Se encuentra, aunque en C:\WINDOWS\Microsoft.NET\assembly\GAC_MSIL\ supongo que debido a esto, no puedo ver Awesome.DLL desde Agregar referencia> .Net.

¿Por qué no se instala en C:\Windows\Assembly\? ¿Cómo puedo apuntar a esa ubicación en su lugar?

Respuesta

18

Su ensamblaje está instalado en C:\WINDOWS\Microsoft.NET\assembly\ en lugar de C:\Windows\Assembly\ porque es un ensamblado .Net 4.0 y .NET framework versión 4.0 tiene un nuevo GAC separado en esa ubicación. El GAC ubicado en C:\Windows\Assembly\ contiene solo conjuntos .Net 2.0 - 3.5. (ver .NET 4.0 has a new GAC, why?).

La lista de ensamblados encontrados en Visual Studios "Agregar referencia -> .Net." el diálogo no es simplemente una lista de ensamblajes encontrados en el GAC (observe que la mayoría de las entradas en esa lista tampoco se encuentran en el GAC).

Para obtener información sobre cómo añadir su ensamblaje a esta lista consulte el siguiente artículo (específicamente el "para mostrar una asamblea en el cuadro de diálogo Agregar referencia" sección):

Tenga en cuenta que la clave de registro utilizada para esto es diferente para las diferentes versiones de Visual Studio.

+0

¿Cómo habilitar PowerShell para encontrar. NET 4 ensamblados dentro del nuevo GAC? –

0

He creado una herramienta que es completamente gratuita, que te ayudará a lograr tu objetivo. Muse VSReferences le permitirá agregar una referencia de caché de ensamblaje global al proyecto desde la opción de menú Agregar referencia GAC.

Espero que esto ayude.

+0

¿Tiene planes para admitir oficialmente VS2012 y VS2013? Mi actualización * no oficial * que admite versiones más recientes de VS (es decir, 2012 y 2013) está disponible para su descarga [aquí] (http://ge.tt/2COX9iS/v/1?c). –

+0

¿Algún plan para agregar esto para VS2015? – slayernoah

0

Revise las propiedades de su proyecto en vs2010 Menú del proyecto: He visto que este era el proyecto ".NET Framework 4 Client Profile" y el conjunto es ".NET 4 Fraemwork". solución: Cambiar el proyecto a ".NET framework 4" perfil

+0

¿Puedes formatear tu respuesta y explicarla un poco más? –

Cuestiones relacionadas