2

我对 dll 或 .NET 不是很熟悉。我正在尝试使用节点运行 dll 库。我正在使用edge.js。本质上,我有一个包含几个 dll 文件的目录 bin/Debug。我正在遍历文件并尝试组装它们中的每一个,以便我可以从 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)
      })
    } 
  })
})

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

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

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

任何帮助表示赞赏。谢谢!

4

0 回答 0