我对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的类来构造类型名称。但是,我不知道类型名称是什么或如何找到它。另外,我怎样才能在每个文件中找到方法?
感谢任何帮助。谢谢!