ASP.NET错误80040154类未注册(异常来自HRESULT:0x80040154(REGDB_E_CLASSNOTREG))

问题描述:

我已经构建了一个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://*.com/questions/9502040/80040154-class-not-registered-with-interop-from-asp-net/ – user1234883 2012-03-01 16:12:39

您正在试图嵌入在64位应用程序的32位OCX。

如果强制作为一个64位操作系统的32位应用程序运行应用程序可能会运行得很好......项目属性 - >构建 - >平台目标= 86