Привет,
Можно ли вызвать родную 32-разрядную dll из кода .NET в edge.js, используя node.js x64 в Windows x64?
В консольном .NET-приложении я могу вызвать свою старую 32-битную родную dll (от DllImport). Но используя тот же код с edge.js, я получаю BadImageException. Тот же результат я получу, если попробую вызвать сборку x86 .NET.
Итак, я должен использовать x86 node.js из-за использования некоторых устаревших компонентов x86?
Другой вопрос, а как насчет COM-ов?
Я видел, что IIS-узел использует только x86 node.js. У меня нет особых требований к x64 для моего приложения (но, конечно, версия x64 была бы лучше на машинах x64). Так что я должен использовать версию x86, не так ли?
Если к нему можно получить доступ через C (собственный dll), вы можете быть заинтересованы в создании собственного модуля / пакета для использования с node.
Насколько сложно ваше взаимодействие, и можно ли его раскрыть через командную строку exe, которая использует конвейерный ввод / вывод?
Просто предлагаю пару альтернативных решений, которые могут быть более прямыми.
Спасибо за ответ
В некоторых случаях, когда у меня есть некоторая логика .NET с использованием native.dll, я думаю, что могу повторно использовать весь код в .NET и вызвать его один раз из JavaScript.
Но в другом случае, когда я мог бы иметь код JavaScript с некоторой логикой, которая использует логику из собственной библиотеки DLL, было бы лучше, если бы я использовал собственный код непосредственно из JavaScript.
В C # у меня есть две импортированные собственные функции, обе с подписью, например:
[DllImport ("library.dll")]
статический внешний int Func1 (byte [] p1, ref int p2, byte [] p3, int p4);
Я нашел пакет node.js для вызова dll-s https://github.com/rbranson/node-ffi.
но я еще не пробовал. Насколько сложно вызвать такую функцию с помощью node-ffi?
Я думаю о том, чтобы получить двоичный файл из базы данных, затем декодировать с помощью какого-либо алгоритма в собственной dll и, при желании, изменить его размер и, в конце, вернуться в двоичный вывод в браузер. Кстати, кто-нибудь знает какой-нибудь хороший пакет node.js для обработки двоичных изображений в node.js?
+1 - Мне интересно, был ли достигнут прогресс? Мой конкретный вариант использования заключается в том, что я хотел бы вызвать стороннюю сборку .NET, которая, в свою очередь, ссылается на 32-разрядную собственную библиотеку C ++.
Самый полезный комментарий
+1 - Мне интересно, был ли достигнут прогресс? Мой конкретный вариант использования заключается в том, что я хотел бы вызвать стороннюю сборку .NET, которая, в свою очередь, ссылается на 32-разрядную собственную библиотеку C ++.