Edge: x64Windows上のnode.jsx64上の.NETからネイティブx86コードを呼び出す

作成日 2013年04月16日  ·  3コメント  ·  ソース: tjanczuk/edge

こんにちは、

Windowsx64でnode.jsx64を使用して、edge.jsの.NETコードからネイティブ32ビットdllを呼び出すことは可能ですか?

コンソールの.NETアプリケーションでは、古い32ビットのネイティブdllを(DllImportによって)呼び出すことができます。 しかし、edge.jsで同じコードを使用すると、BadImageExceptionが発生します。 x86.NETアセンブリを呼び出そうとすると同じ結果が得られます。

それで、いくつかのレガシーx86コンポーネントを使用しているため、x86 node.jsを使用する必要がありますか?

別の質問、COM-sはどうですか?

IISノードがx86node.jsのみを使用していることを確認しました。 アプリのx64に特別な要件はありません(もちろん、x64バージョンの方がx64マシンの方が優れています)。 だから私はx86バージョンを使うべきですよね?

最も参考になるコメント

+ 1-何か進展があったのだろうか? 私の具体的な使用例は、32ビットのネイティブC ++ dllを参照するサードパーティの.NETアセンブリを呼び出したいというものです。

全てのコメント3件

C(ネイティブdll)経由でアクセスできる場合は、ノードで使用するネイティブモジュール/パッケージの構築に関心があるかもしれません。

あなたの相互作用はどれほど複雑ですか、そしてそれはパイプされた入力/出力を使用するコマンドラインexeを介して公開される可能性がありますか?

より直接的かもしれないいくつかの代替ソリューションを提供するだけです。

答えてくれてありがとう

場合によっては、native.dllを使用する.NETロジックがある場合、.NETのすべてのコードを再利用して、JavaScriptから1回呼び出すことができると思います。

しかし、他のケースでは、ネイティブdllのロジックを使用するロジックを含むJavaScriptコードを使用できる場合は、JavaScriptから直接ネイティブコードを使用する方がよいでしょう。

C#では、2つのネイティブ関数がインポートされており、どちらも次のような署名が付いています。

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

dll-shttps ://github.com/rbranson/node-ffiを呼び出すためのnode.jsパッケージを見つけました
しかし、私はまだそれを試していません。 node-ffiでこの種の関数を呼び出すのはどれほど難しいですか?

私はデータベースからバイナリファイルを取得し、ネイティブdllのアルゴリズムでデコードし、オプションでサイズを変更して、最後にバイナリ出力をブラウザに返すことを考えています。 ところで、node.jsのバイナリイメージを処理するための優れたnode.jsパッケージを知っている人はいますか?

+ 1-何か進展があったのだろうか? 私の具体的な使用例は、32ビットのネイティブC ++ dllを参照するサードパーティの.NETアセンブリを呼び出したいというものです。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

agracio picture agracio  ·  6コメント

NickStrupat picture NickStrupat  ·  11コメント

bravomikekilo picture bravomikekilo  ·  6コメント

timonsku picture timonsku  ·  4コメント

lstratman picture lstratman  ·  17コメント