我再次遇到一个相当奇怪的问题。我有一个依赖于一个COM库的库。出乎意料的是,依赖于MDAC 2.7的COM-Library突然 1 产生了这个编译错误:
Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY))
与此错误一起,其他人显示在指定对象上找不到属性。经过对我的系统的大量调查,我可以发现由于某种原因,某些MDAC库已经不再注册 2 。手动注册它们(因为安装程序不允许我重新安装它)修复了错误,但是找不到有关未找到的属性的错误。它归结为:
Me.prv_comObject.Value = aValuePassedIn ' This throws the error that the
Property "Value" could not be found '
' This works instead: '
Me.prv_comObject.set_Value(aValuePassedIn)
现在有了线索,这只会在x86
配置中中断,在Any CPU
我仍然可以使用属性。我也无法用SharpDevelop重现这一点,SD总是期待属性。我也不确定这是否与MDDAC-Thingy有任何关系。
这是一个VB.NET项目,COM库是VB6,OS是Windows XP。什么可能导致这种行为的想法?
1 :是的,突然。我正在开发,然后切换到Release
模式,然后它就在那里,不会再消失了。
2 :是的,我正在搞乱MDAC,因为我试图帮助查明now introduced with Windows 7 SP1的问题(是的,我们没有意识到这一点)。但我并没有搞乱MDAC库的注册。
答案 0 :(得分:0)
经过三天想知道那是什么,它已经消失了。
我已清理了项目,删除了obj
和bin
,突然之间一切都恢复正常了。好像目标文件已损坏。