2011-05-27 285 views
2

我已經構建了一個ASP.NET Web應用程序(包含Silverlight 4應用程序)並且它使用了一對COM dll。這些dll已註冊(通過在註冊表中查找CLSID並查看CLSID中的類進行驗證),並且它們位於可以完全控制所有用戶的目錄中。ASP.NET錯誤80040154類未註冊(異常來自HRESULT:0x80040154(REGDB_E_CLASSNOTREG))

當我運行使用本地主機方法的VS調試,一切都正常運行,但是當我將其更改爲使用IIS託管,它拋出的錯誤:

Retrieving the COM class factory for component with CLSID {006CA725-8B67-11D4-A067-FFF276E93345} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) 

我使用的Win7 64位,和我已經在IIS中爲該站點啓用了應用程序池以允許32位應用程序。

不知道還有什麼可以嘗試的。 dll是由第三方製造商提供給我們的,用於計算他們的產品性能(我們需要幫助計算我們的產品性能),所以我無法在.NET中重建它們(並且製造商不會改變它們,因爲它們會必須經過重新認證過程)。

謝謝, 克里斯

+0

這個問題似乎很相似到這個問題 - http://stackoverflow.com/questions/9502040/80040154-class-not-registered-with-interop-from-asp-net/ – user1234883 2012-03-01 16:12:39

回答

0

您正在試圖嵌入在64位應用程序的32位OCX。

如果強制作爲一個64位操作系統的32位應用程序運行應用程序可能會運行得很好......項目屬性 - >構建 - >平臺目標= 86

相關問題