使用节点js中的边来绑定DLL库不成功

我试图学习如何使用边缘(一个node.js模块)绑定预编译的DLL,但它不能以正确的方式工作…

我的DLL是一个非常简单的库,它已经在其他.Net程序中多次testing。 我用Jscript.Net写了我的DLL文件:

import System; import System.Console; import System.IO; package power{ public class testp { function hello (){ var time_1 = DateTime.Now; for (var i =0; i<10000; i++){ Console.WriteLine ("hello world!"); }; var time_2 = DateTime.Now; Console.WriteLine (time_2-time_1); }; }; }; 

它真的很简单,Hello()方法将在标准输出中打印出10000个“hello world”;

我可以在我的其他Jscript.net程序中调用它:

 import System; import System.Console; import System.IO; import power; var pri = new testp; pri.hello(); 

根据官方网站,我曾尝试过:

 var edge = require("edge"); var clrMethod = edge.func({ assemblyFile: 'power.dll', typeName: 'power.testp', methodName: 'hello' }); clrMethod(); 

我的问题:我怎样才能成功地称之为边缘?

据我所知,Edge.js不支持JScript.NET。 至less在文档中没有提到它的任何地方。

你有没有尝试在C#中的例子 ? 问题是Edge.js要求DLL中的导出方法必须具有特定的签名:

Func<object,Task<object>>

当然,您的DLL不会导出具有正确签名的函数,这就是它没有按预期工作的原因。