2010-11-19 16 views
6

¿Cómo puede una aplicación web hacer referencia a un ensamblaje de 64 bits?Visual Studio 2010 - No se puede construir un sitio web que haga referencia al ensamblaje de 64 bits

Tengo una solución con una aplicación web y una biblioteca de clases. La biblioteca de clases está configurada para compilar en 64 bits. La aplicación web por defecto es Cualquier CPU, pero si generar y ejecutar me sale el siguiente error:

Could not load file or assembly 'ClassLibrary64, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.

No puedo ejecutar el proyecto de 32 bits o de cualquier CPU - estoy interactuando con SharePoint 2010, y el sitio debe ejecutar en 64 bits o la API de SharePoint no funciona ...

¿Alguna idea?

+0

¿Pudo resolver este problema? Estoy lidiando exactamente con el mismo problema ... – Kobi

Respuesta

0

IIS probablemente se esté ejecutando como de 32 bits. ¿Por qué no construyes la biblioteca de clases como AnyCPU?

+1

El modelo de objetos de SharePoint (api) es de 64 bits y los proyectos que lo usan deben compilarse como 64 (no anycpu). – David

0

Esto se debe a que su aplicación web se está compilando JIT en 32 bits, por lo que no puede cargar un ensamblaje de 64 bits en el proceso de trabajo.

Existen muy pocos motivos por los que deba compilar un conjunto de aplicaciones web para un bitness en particular. ¿Necesita que la biblioteca de la clase sea x64 o puede dejarla como AnyCPU?

Además, ¿se está ejecutando IIS en una máquina de 64 bits con un sistema operativo de 64 bits? Si cualquiera de los dos tiene solo 32 bits, entonces no podrá cargar el ensamblaje de 64 bits de todos modos.

+2

Estoy ejecutando código en el modelo de objetos de SharePoint 2010 y exponiéndolo a través de un servicio wcf. SharePoint 2010 es de 64 bits y, como tal, el código debe compilarse en 64 bits. El problema aquí es que necesito interactuar con los proyectos de 64 bits a través de un servicio web. No puedo irme como AnyCpu por desgracia. – David

Cuestiones relacionadas