.net - 在node js中使用edge绑定(bind)DLL库不成功

标签 .net node.js dll jscript.net edge.js

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

我的 DLL 是一个非常简单的库,并且已经在其他 .Net 程序中进行了多次测试。 我在 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()方法会在stdout中打印出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中成功调用它?

最佳答案

据我所知,Edge.js 不支持 JScript.NET。至少文档中没有提及它。

你试过吗the example in C# ?问题在于 Edge.js 要求 DLL 中导出的方法必须具有特定的签名:

Func<object,Task<object>>

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

关于.net - 在node js中使用edge绑定(bind)DLL库不成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23252163/

相关文章:

windows - 为什么我的 Windows wxPerl 应用程序没有启动?

c++ - Visual Studio 2013 的可再发行组件包中缺少 msvcp120.dll 和 msvcr120.dll

.net - 你能用 .net reactor 混淆 LinqToSql 程序集而不破坏它们吗?

node.js - 同时安装 Node 和 Deno 的最高效的 docker 镜像

node.js - 如何使用 Firebase 函数在 Firebase 实时数据库的数据数组中添加新字段?

javascript - 如何更改 package.json 输出位置

python - 中断死锁在 DLL 中的 Python 程序

base64 - .NET 有 Base64Stream 吗?

c# - 使用默认网络凭证是一个安全漏洞吗?

html - 通过 Controller CSS 访问 View 时不起作用