我们有一个专为 Reader X / XI 设计的托管 C++ Adobe Reader 插件。它在 Windows 7 中运行良好,但在 Windows XP 中会引发 COM 错误 - 未注册类。
奇怪的是,这只是在我们将项目从 vs2005 项目更新到 vs2010 之后才发生的。旧的 vs2005 插件工作得很好。有人知道为什么会这样吗?当我们迁移到 2010 时,我们只是使用了标准项目自动升级。所有其余代码都是相同的。
编辑:关于这个问题的更多说明
插件 DLL 本身加载得很好。只有当我们尝试通过 COM 互操作加载 .Net 4 dll 时,我们才遇到异常。
以前,我们尝试加载的 dll 是用 .net 2.0 编写的,并且在 Windows XP 中加载得很好。但是 .Net 4 dll 只会在 Win7 中加载。请注意,.Net 3.5 似乎与 2.0 一样工作。只有 .net 4 会中断(我们将完全相同的代码重新编译为 2.0、3.5 和 4.0 以进行检查)。