【发布时间】:2010-10-01 01:42:36
【问题描述】:
我正在尝试从 Vista Ultimate 上的 Visual Studio 2008 项目 (.NET 3.5 SP1) 中引用第三方 COM DLL。
我运行了 COM 组件的设置,然后发现它不是正确的设置。所以我卸载并运行了正确的安装。在添加对新 C# 项目的引用后,并非所有应有的对象方法都可用。
编译器错误之一是:
无法确定依赖关系 COM 参考“APIV2_COMLib”。 加载类型库/DLL 时出错。 (来自 HRESULT 的异常:0x80029C4A (TYPE_E_CANTLOADLIBRARY))
考虑到注册表可能保留了不正确的值,我卸载了组件并在注册表中搜索了任何碎屑迹象,但没有找到。尽管如此,重新安装还是会出现同样的错误。
在线搜索发现其他人也遇到过同样的问题'Odd COM error when upgrading to 3.5' in MSDN forums,但我没有找到答案。
我的同事在 .NET 代码中使用相同的 COM 对象(尽管不高于 .NET 2.0 或在 Vista 上)。
【问题讨论】:
-
您似乎正在使用 Amadeus API。我在迁移到 Vista 时遇到了完全相同的问题。你有没有解决这个问题?这将是最有帮助的!谢谢!
-
是的,我们对其进行了排序。我将同事在 XP 上编译时生成的互操作 DLL (Interop.APIV2_COMLib.dll) 复制到我的 PC 上。它与使用 Vista 生成的同一文件的大小不同(好 = 13KB,坏 = 10KB),因为哑版本缺少几个方法。