从 Edge.js 导入 dll 时编译为 CLR 库时出错

问题描述

我尝试使用 Edge.js 将 .Net 库与 Node.js 结合使用。我能够成功使用 dll 之一,但对于我的其他 dll 之一,出现以下错误。每次修改都会出现相同的错误代码

input = {
    template:
      'C:\\Test1.docx',test: 'C:\\Test2.docx'
  };
  var Comparision = edge.func(function(){/*
    #r "C:\\abc\\Testdll.dll"
    using Testdll;

    async(dynamic data)  => {
      var Comparison = new Comparison();
      return Comparison.Word((string) data.template,(string) data.test);
    }
  */});

Comparison(input,function(error,result) {
    if (error) throw error;
    console.log(result);
  });

错误

Error: Unable to compile C# code.
----> Errors when compiling as a CLR library:
c:\Users\..\AppData\Local\Temp\pfdlkdvp.0.cs(4,6) : error CS0116: A namespace cannot directly contain members such as fields or methods
c:\Users\..\AppData\Local\Temp\pfdlkdvp.0.cs(13,6) : error CS1022: Type or namespace deFinition,or end-of-file expected
----> Errors when compiling as a CLR async lambda expression:
c:\Users\..\AppData\Local\Temp\zy0qaogb.0.cs(9,7) : error CS1513: } expected
c:\Users\..\AppData\Local\Temp\zy0qaogb.0.cs(21,9) : error CS0116: A namespace cannot directly contain members such as fields or methods
c:\Users\..\AppData\Local\Temp\zy0qaogb.0.cs(22,5) : error CS1022: Type or namespace deFinition,or end-of-file expected
c:\Users\..\AppData\Local\Temp\zy0qaogb.0.cs(10,23) : error CS0542: 'Startup': member names cannot be the same as their enclosing type

尝试用另一个 dll 包装这个 dll,使用 .Netwindows App 测试时效果很好,但使用 Edge.js 时抛出以下错误

无法加载文件或程序集“Testdll,版本=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。无效的指针(来自 HRESULT 的异常:0x80004003 (E_POINTER))

有人可以帮忙吗?谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)