2011-04-26 35 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,突然間一切都恢復正常了。看起來像對象文件已損壞。