我将制作一个小的电子节点 js 应用程序,它将使用一个 activeX dll 库 Interop.DrvFRLib.dll。这个库与 c# .NET Framework 配合得很好,所以我决定在 c# 代码片段中包装由这个 DLL 提供的方法,并在 edge js 的帮助下将这些片段包含在节点 js 代码中,但无法正常工作。变种边缘 = 要求('边缘');
var funcForTry = edge.func({
source: function() {/*
using DrvFRLib;
using System.Threading.Tasks;
public class Startup
{
public async Task<object> Invoke(object input)
{
var driver = new DrvFR();
return null;
}
}
*/},
references: [ 'Interop.DrvFRLib.dll' ]
});
funcForTry(null, function (error, result) {
console.log(result);
});
这行代码:
var driver = new DrvFR();
给我一条错误消息,指出找不到文件或程序集
"Interop.DrvFRLib, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null"
可能是什么原因?库文件与 index.js 位于同一文件夹中。当我将它放入“参考”时,这个库在控制台应用程序中可以很好地与本机 c# 配合使用。当然它的 CLSID 可以在 HKEY_CLASSES_ROOT 注册表分支下建立。