我有一个混乱的情况,包装了几个 3rd 方 COM 组件。实际上它是一个 COM 组件和几个 .NET 程序集。.NET 程序集又依赖于相同的第 3 方的内部 COM 组件。当我注册了 COM DLL 后,我的代码可以正常工作(现在我正在从 C# 进行测试)。当我不这样做时,它会失败。调试它的最佳方法是什么?
我通过添加对 COM 组件的引用、设置 Isolated=true、然后将生成的 comClass 元素从清单中提取到我自己的 SxS 清单中来生成 SxS 清单。此外,它似乎创建了一个 Interop.XXX.dll 文件:这是为了什么?
一些示例错误消息:
"Retrieving the COM class factory for component with CLSID {012A4BEB-99EC-4A65-A4AF-7D09A20B5034} failed due to the following error: 80040154."
"HSREADWRITELib::ReadWriteData, CreateInstance"