Pregunta

Mi escenario es el siguiente (Win7, VS2010, .NET 4.0):

Tengo un ensamblaje .NET de una compañía externa compilada para "cualquier CPU" (verificado con Corflags.exe). Este ensamblaje carga una DLL nativa también de la compañía externa. Esta DLL nativa existe en dos versiones: x86 y x64. Tengo ambos disponibles.

Cuando creo una aplicación de consola, agregue el ensamblaje de .NET (mientras se asegura de que el ensamblaje de .NET de .NET pueda encontrar una de las DLL nativas), cree una instancia de una de las clases desde esa biblioteca de .NET e inicie el programa Todo es multa.

Sin embargo, cuando sigo exactamente los mismos pasos dentro de un servicio WCF, estoy obteniendo una BadImageFormateException. Ahora lo obvio es buscar el error en la plataforma específica (intenté "cualquier CPU", "x86", "x64") o tratando de intercambiar la DLL nativa (probé x86 y x64), pero eso no ayuda . Probé todas las combinaciones por cierto ...

¿Alguien tiene una idea de cuál podría ser el problema?

Prolongada

PD: leí BadImageFormateException encontrado con WCFSVCHOST e IIS WCF Host Y como el autor dice, resolvió un problema similar al Corflaging wcfsvchost.exe como 32 bits, pero wcfsvchost.exe es fuerte, así que no puedo renunciar. No estoy seguro de cómo lo hizo funcionar ...

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top