我正在尝试使用 edge-js 在我正在开发的 Typescript vscode LSP 扩展中运行 .NET dll。我有一个本地 Typescript 项目,它使用 Edge-js 成功运行 dll。但由于这个错误,似乎无法让 Edge-js 运行。
添加:
const method = edge.func(filename);
或
edge.func("");
导致此错误
Uncaught Error Error: The specified procedure could not be found.
\\?\c:\{path to project}\node_modules\edge-js\lib\native\win32\x64\18.19.1\edge_nativeclr.node
at func (electron/js2c/node_init:2:2214)
at Module._extensions..node (internal/modules/cjs/loader:1356:18)
at func (electron/js2c/node_init:2:2214)
at Module.load (internal/modules/cjs/loader:1126:32)
at Module._load (internal/modules/cjs/loader:967:12)
at c._load (electron/js2c/node_init:2:13672)
at Module.require (internal/modules/cjs/loader:1150:19)
at require (internal/modules/cjs/helpers:119:18)
at <anonymous> (c:\VisualfilesSrc\V6.X\VSCScriptEditor\node_modules\edge-js\lib\edge.js:53:8)
at Module._compile (internal/modules/cjs/loader:1271:14)
at Module._extensions..js (internal/modules/cjs/loader:1326:10)
at Module.load (internal/modules/cjs/loader:1126:32)
at Module._load (internal/modules/cjs/loader:967:12)
at c._load (electron/js2c/node_init:2:13672)
at Module.require (internal/modules/cjs/loader:1150:19)
at require (internal/modules/cjs/helpers:119:18)
at <anonymous> (c:\VisualfilesSrc\V6.X\VSCScriptEditor\server\src\server.ts:47:1)
at Module._compile (internal/modules/cjs/loader:1271:14)
at Module._extensions..js (internal/modules/cjs/loader:1326:10)
at Module.load (internal/modules/cjs/loader:1126:32)
at Module._load (internal/modules/cjs/loader:967:12)
at c._load (electron/js2c/node_init:2:13672)
at executeUserEntryPoint (internal/modules/run_main:101:12)
at <anonymous> (internal/main/run_main_module:23:47)
节点模块确实在它应该在的地方。
节点版本:v20.11.0 我已经尝试过 Edge-js v21.7.2 和 v22.1.1
我在网上能找到的最接近的东西是这样的: 错误:找不到指定的模块 但这个错误是找不到模块,我的错误是找不到程序,不确定是否相关。
查看 Edge.js 文件:
console.log("determineVersion() = ", determineVersion());
console.log("process.versions.node = ", process.versions.node);
determineVersion() = 18.19.1
process.versions.node = 18.18.2
添加这个,因为我安装了 v20.11.0
让它运行的解决方案是安装 electro-edge-js,而不是 edge-js。