使用edge在Node.js中组装.NET dll

时间:2017-09-13 18:06:40

标签: c# .net node.js dll edge.js

我对dll或.NET不太熟悉。我试图使用节点运行DLL库。我正在使用edge.js。基本上,我有一个目录bin / Debug与几个DLL文件。我循环遍历文件并尝试组装它们,我可以从dll运行一些方法。

const edge = require('edge-js')
const dllPath = './somePath/bin/Debug/'
const fs = require('fs')
const path = require('path')
let obj = {}

fs.readdir(dllPath, [], (err, files) => {

  files.forEach((file) => {
    if(file.match(/^(.*\.dll$).*$/)) {

      obj[file.match(/(.*)\.[^.]+$/)[1]] = edge.func({
        assemblyFile: path.join(__dirname, dllPath, file)
      })
    } 
  })
})

但是,edge不断抛出以下错误:

Could not load type 'CommandLine.Startup' from assembly 'CommandLine, Version=1.9.71.2, Culture=neutral, PublicKeyToken=de6f01bd326f8c32'

我理解,如果我没有在edge.func({assemblyFile: 'someFile', typeName: ''})中指定类型名称,则会通过假设名为Startup的类来构造类型名称。但是,我不知道类型名称是什么或如何找到它。另外,我怎样才能在每个文件中找到方法?

感谢任何帮助。谢谢!

0 个答案:

没有答案