【问题标题】:Retrieving the COM class factory for component with CLSID {88D969C1-F192-11D4-A65F-0040963251E5} failed due to the following error: 80040154由于以下错误,检索具有 CLSID {88D969C1-F192-11D4-A65F-0040963251E5} 的组件的 COM 类工厂失败:80040154
【发布时间】:2012-08-29 03:13:12
【问题描述】:

我正在使用 Visual Studio 2010 Express。我在 asp.net 中创建了一个网站。它适用于 XP,但不适用于 Windows 7 高级版(64 位)
我面临着同样的问题here.
我尝试使用 regsvr32 注册 DLL,但显示错误为

The Module "c:\MyProject\bin\MyDll.dll" was loaded but the entry-point 
DllRegisterServer was not found.
Make sure that "c:\MyProject\bin\MyDll.dll" is a valid DLL or OCX and 
then try again.

我也没有在属性下找到任何选项来设置 平台目标目标 CPU 以便我可以将我的网站转换为在 32 位平台上运行。
我是 ASP.NET 新手,请帮助...

【问题讨论】:

    标签: asp.net web 32bit-64bit


    【解决方案1】:

    第一个概念是您的应用程序在 IIS 中的 64 位应用程序池下运行,该应用程序池未启用 32 位应用程序,在这种情况下,32 位 DLL 无法加载到 64 位进程空间中。检查托管您网站的应用程序池是否允许 32 位应用程序。

    VS 2010 Express 应该默认创建 32 位可执行文件;虽然我没有亲自使用过它,但我相信我已经读过要在 2010 Express 版本中构建 64 位可执行文件,您必须下载额外的 SDK,因此您可能构建了一个 32 位目标,从而导致了所描述的问题。

    【讨论】:

    • 非常感谢...应用程序池出现问题。我为 32 位应用程序启用了它,使用 1> 在 IIS 管理器中,选择应用程序池。 2>在应用程序池列表中,选择您已配置的应用程序池。 3> 在 Actions 窗格中,选择 Edit Application Pool 下的 Advanced Settings。4> 展开 General settings,将 Enable 32-bit Applications 设置为 True,然后单击 OK。
    • 太棒了!很高兴我能提供帮助。
    【解决方案2】:

    我在尝试运行 Visio x32 FlowChartSampleVBNET 加载项时遇到此对话框。该对话框出现了指向 Excel 的 CLSID{00024500-0000-0000-C000-000000000046}。我在 x64 机器上安装了 Excel x64。显然,Visio x32 和 Excel x64 之间的不匹配导致了问题。卸载 Microsoft Office 2013 x64 并重新安装 Microsoft Office 2013 x32 后,我可以正常运行加载项。

    【讨论】:

      猜你喜欢
      • 2014-12-14
      • 1970-01-01
      • 2010-11-05
      • 2013-01-29
      • 2013-12-10
      • 2011-10-24
      • 2023-03-27
      • 2011-10-05
      相关资源
      最近更新 更多