Tengo un proyecto que debe compilarse y ejecutarse en modo de 64 bits. Lamentablemente, debo recurrir a una DLL que solo está disponible en el modo de 32 bits, por lo que no hay forma de que pueda albergar todo en un proyecto de 1 Visual Studio. Estoy trabajando para encontrar la mejor manera de ajustar el archivo DLL de 32 bits en su propio exe/servicio y emitir llamadas remotas (aunque en la misma máquina) a ese exe/servicio desde mi aplicación de 64 bits. Mi sistema operativo es Win7 Pro de 64 bits.Formas de acceder a una DLL de 32 bits desde un exe de 64 bits
Las llamadas requeridas para este proceso de 32 bits son varias docenas por segundo, pero bajo volumen de datos. Esta es una aplicación de análisis de imágenes en tiempo real, por lo que el tiempo de respuesta es crítico a pesar del bajo volumen. Muchas primitivas simples de envío/recepción.
Idealmente, alojaría un servicio WCF para alojar esta DLL, pero en un sistema operativo de 64 bits no se puede obligar al servicio a ejecutarse como x86. Source. Eso es realmente desafortunado ya que las llamadas de función cronometradas al servicio WCF son de solo 4 ms en mi máquina.
He experimentado con named pipes is .net. Los encontré 40-50 veces más lentos que WCF (inutilizable para mí).
¿Alguna otra opción o sugerencia para la mejor manera de acercarse a mi rompecabezas?
Ver [esta respuesta] (http://stackoverflow.com/a/12938217/184528) para una lista más completa de las técnicas para acceder a archivos DLL de 32 bits de aplicaciones de 64 bits . – cdiggins