2011-04-26 47 views
-1

我有一个相当奇怪的问题与Visual Studio一次。我有一个依赖于一个COM-Library的库。出蓝色的COM库取决于MDAC 2.7突然生成此编译错误:在平台配置之间切换会破坏COM兼容性

Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)) 

连同此错误他人出现了该属性没有指定的对象上找到。在对我的系统进行了大量调查之后,我可以发现由于某些原因,某些MDAC库没有被注册。手动注册(因为安装程序不会让我重新安装它)修正了错误,但是关于未找到的属性的错误仍然存​​在。它归结为:

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,操作系统是Windows XP。任何想法可能会导致这种行为?

:是的,突然。我正在开发,然后切换到Release模式,然后它在那里,不会消失了。

:是的,我与MDAC瞎搞了,因为我想帮助查明这是now introduced with Windows 7 SP1问题(是的,我们不知道这一点)。但我没有搞乱MDAC库的注册。

回答

0

经过三天想知道那是什么,它消失了。

我已经清理了项目,删除了objbin,突然间一切都恢复正常了。看起来像对象文件已损坏。