Edge: Llamar al código x86 nativo desde .NET en node.js x64 en Windows x64

Creado en 16 abr. 2013  ·  3Comentarios  ·  Fuente: tjanczuk/edge

Hola,

¿Es posible llamar a una dll nativa de 32 bits desde el código .NET en edge.js, usando node.js x64 en Windows x64?

En la aplicación de consola .NET puedo llamar a mi antiguo dll nativo de 32 bits (por DllImport). Pero usando el mismo código con edge.js obtengo BadImageException. El mismo resultado que obtengo si intento llamar al ensamblaje x86 .NET.

Entonces, ¿tengo que usar x86 node.js debido a que uso algunos componentes x86 heredados?

Otra pregunta, ¿qué hay de los COM-s?

Vi que IIS-node usa solo x86 node.js. No tengo requisitos especiales para x64 para mi aplicación (pero, por supuesto, la versión x64 sería mejor en máquinas x64). Entonces debería usar la versión x86, ¿no?

Comentario más útil

+1 - Me pregunto si se ha realizado algún progreso. Mi caso de uso específico es que me gustaría llamar a un ensamblado .NET de terceros que, a su vez, hace referencia a una dll C ++ nativa de 32 bits.

Todos 3 comentarios

Si se puede acceder a él a través de C (dll nativo), es posible que le interese crear un módulo / paquete nativo para usar con node.

¿Qué tan compleja es su interacción y podría exponerse a través de un ejecutable de línea de comando que utiliza entrada / salida canalizada?

Solo ofrecemos un par de soluciones alternativas que pueden ser más directas.

Gracias por su respuesta

En algunos casos, cuando tengo algo de lógica .NET usando native.dll, creo que podría reutilizar todo el código en .NET y llamarlo una vez desde JavaScript.

Pero en otro caso, cuando pudiera tener código JavaScript con alguna lógica que use lógica de dll nativa, sería mejor si uso código nativo directamente desde JavaScript.

En C # tengo dos funciones nativas importadas, ambas con firma como:

[DllImport ("biblioteca.dll")]
static extern int Func1 (byte [] p1, ref int p2, byte [] p3, int p4);

Encontré el paquete node.js para llamar a dll-s https://github.com/rbranson/node-ffi.
pero aún no lo he probado. ¿Qué tan difícil es llamar a este tipo de función con node-ffi?

Estoy pensando en obtener un archivo binario de la base de datos, luego decodificarlo con algún algoritmo en dll nativo y, opcionalmente, cambiar su tamaño y, al final, devolver la salida binaria al navegador. Por cierto, ¿alguien conoce algún buen paquete node.js para procesar imágenes binarias en node.js?

+1 - Me pregunto si se ha realizado algún progreso. Mi caso de uso específico es que me gustaría llamar a un ensamblado .NET de terceros que, a su vez, hace referencia a una dll C ++ nativa de 32 bits.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

mamaso picture mamaso  ·  4Comentarios

carlskii picture carlskii  ·  13Comentarios

sz30313484 picture sz30313484  ·  7Comentarios

bravomikekilo picture bravomikekilo  ·  6Comentarios

NickStrupat picture NickStrupat  ·  11Comentarios