2008-10-22 13 views
10

¿Cómo se puede obtener Visual Studio 2005/2008 para hacer referencia a los ensamblados en el GAC de 64 bits en lugar del GAC de 32 bits? Estamos Ajustes del platfom objetivo de x64 y el compilador está lanzando el error deReferencia de Visual Studio x64 GAC

Error 2 Warning as Error: Assembly generation -- Referenced assembly 'System.Data.dll' targets a different processor Common

Error 3 Warning as Error: Assembly generation -- Referenced assembly 'mscorlib.dll' targets a different processor Common

Error 4 Assembly signing failed; output may not be signed -- The system cannot find the file specified. Common


Actualización 29 Dic 08

estado probando Aaron Stebner's suggestions para colocar los conjuntos de 64 bits en un lugar aislado (por ejemplo, C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ GAC_64) y crear entradas adicionales en el registro como HKLM \ SOFTWARE \ Microsoft.NETFramework \ AssemblyFolders \ GAC_64 o HKLM \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727 \ AssemblyFoldersEx \ GAC_64 pero Visual Studio 2005 aún no lo está recogiendo ...

Respuesta

0

¿Ha configurado la plataforma x64 para todos los proyectos en su solución en Configuration Manager?

+0

Sí, pero no importa. Son los ensamblados de BCL a los que hacen referencia los proyectos, como System.Data.dll y mscorlib.dll. Están haciendo referencia a los ensamblados en el GAC de 32 bits. Sería bueno tener la opción de hacer referencia al GAC de 64 bits en su lugar. – icelava

2

No estoy seguro de por qué tendrías que hacer esto. El código .NET que no se compila específicamente para 32 bits se ejecutará 64 bits si puede. Esto incluye las bibliotecas de marco base. En resumen, no hay ninguna razón por la que sepa compilar sus ensamblajes específicamente para 64 bits (aparte de hacer referencia a dlls no administrados de 64 bits, pero está hablando del GAC).

Alguna más información podría ayudar aquí.

+0

Sí, estamos compilando nuestra aplicación para apuntar específicamente a x64. Y debido a eso, el compilador se queja de que System.Data o mscorlib están apuntando a x86 ..... – icelava

+0

¿Has vuelto a hacer las referencias afectadas después de cambiar el objetivo de compilación en las propiedades del proyecto? – sliderhouserules

+0

"Considere una aplicación .NET que sea 100% segura en el tipo de código. En este escenario, es posible tomar su ejecutable .NET que ejecuta en su máquina de 32 bits y moverlo al sistema de 64 bits y ejecutarlo satisfactoriamente ¿Por qué funciona esto? Dado que el ensamblaje es 100% seguro, sabemos que no hay dependencias en el código nativo ni en los objetos COM y que no existe un código "inseguro", lo que significa que la aplicación se ejecuta completamente bajo el control de la CLR. " - MSDN –

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 el elemento de menú Agregar referencia GAC.

Cuestiones relacionadas