我想创建一个带有electron.js的Windows桌面应用程序,它将加载和使用.NET程序集(例如,将其命名为“Display.dll”)。此程序集依赖于某些硬件附带的外部DLL(“Line1C.dll”)。看起来像Line1C是一个COM对象,但不幸的是,我没有任何文档。
我可以在winforms应用程序中简单地通过Line1C.dll实例化类Line1C.Line45,方法是添加“using Line1C;”,引用Visual Studio中“References”中的dll文件,它可以正常工作。
我可以使用电子边缘从我的电子应用程序中调用.NET程序集中的类,但是当我尝试调用Display.dll创建Line1C.Line45实例的类方法时,我得到一个异常:
“System.Runtime.InteropServices.COMException(0x80040154):由于以下错误,检索具有CLSID {9AA62C52-999A-11D3-9DB5-0000E8DBEDCE}的组件的COM类工厂失败:80040154未注册类(HRESULT异常) :0x80040154(REGDB_E_CLASSNOTREG))
有没有办法让它像普通的.net应用程序一样工作?
答案 0 :(得分:0)
问题在于,无法在64位应用程序中直接获取32位COM对象。所以我为ia32架构构建了我的电子应用程序(重建电子边缘),它现在可以工作了。