协同创建实例失败,并显示错误"System can not find the file specified"

CoCreateInstance fails with error "System can not find the file specified"

本文关键字:can System not the specified file find 错误 实例 创建 失败      更新时间:2023-10-16

我有一个.NET COM dll,我正试图从非托管C++代码加载它。我正在尝试从我的代码中执行CoCreateInstance,该代码失败,错误为"系统找不到指定的文件"。(HRESULT值为0x80070002(。为了查看组件的注册是否有任何问题,我尝试了测试人员的同一段代码。在那里我可以正确地创建实例。此外,奇怪的是,在我的主应用程序的调试模式下,CoCreateInstance成功了,但只在发布模式下失败了。有人知道可能出了什么问题吗?或者我如何找到问题的根本原因?我已经在依赖项walker中打开了COM dll,它没有显示任何错误。如有任何帮助,我们将不胜感激。

COM通常不会生成ERROR_FILE_NOT_FOUND。但是CLR当然会这样做,例如在试图查找依赖程序集时很常见。请确保从Release构建目录运行regasm/codebase。并使用Fusilogvw.exe跟踪程序集解决问题。