我正在尝试从我的 node.js 应用程序中使用 ac# .dll。我正在使用edge-js 库来实现这一点。
我能够加载 dll 但无法调用它的方法。我得到的错误是
错误:参数计数不匹配。在匿名:1:55
如果有人可以解释边缘绑定/参数传递的工作原理,将不胜感激。
dll代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace PortableClassLibrary1
{
public class Class1
{
public String helloworld(){
Debug.WriteLine("Hello dll world");
return("Hello dll World!");
}
}
}
这是我的(简化的)node.js 代码:
"use strict";
const express = require("express");
const router = express.Router();
const { Console } = require("console");
router.get("/", (req, res) => {
var edge = require("edge-js");
var helloDll = edge.func({
assemblyFile: "bin/PortableClassLibrary1.dll",
typeName: "PortableClassLibrary1.Class1",
methodName: "helloworld",
});
helloDll(null, function (error, result) {
if (error) throw error;
console.log(result);
});
});
module.exports = router;
我也尝试过同步调用:
var returnResult = helloDll(true);
var returnResult = helloDll(null, true);
结果相同。
我查看了这些链接,但它们没有帮助。
那么怎么样呢?有人知道如何使用 edge-js 调用 .dll 方法吗?