由于以下错误:80040154,无法检索CLSID为{88D969C1-F192-11D4-A65F-0040963251E5}的组件的COM类工厂。

4

我正在使用Visual Studio 2010 Express。我已经创建了一个ASP.NET网站。它可以在XP上运行,但无法在Windows 7 Premium(64位)上运行。
我遇到了与这里提到的相同问题。
我尝试使用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的新手,请帮忙...

3个回答

3
首先可能的情况是您的应用程序在运行时处于IIS中的64位应用程序池下,该池未启用32位应用程序,在这种情况下,32位DLL无法加载到64位进程空间中。请检查托管您站点的应用程序池是否允许32位应用程序。
默认情况下,VS 2010 Express应该创建32位可执行文件;虽然我个人没有使用过它,但我相信我已经读到了要构建2010 Express版本的64位可执行文件,您必须下载额外的SDK,因此您很可能正在构建32位目标,从而导致所描述的问题。

非常感谢...应用程序池出现了问题。我使用以下步骤启用了32位应用程序:1> 在IIS管理器中,选择应用程序池。2> 在应用程序池列表中,选择您配置的应用程序池。3> 在操作窗格中,在编辑应用程序池下选择高级设置。4> 展开常规设置,将启用32位应用程序设置为True,并单击确定。 - Prasad Jadhav
太好了!很高兴我能帮到你。 - David W

1

我尝试运行Visio x32 FlowChartSampleVBNET插件时,出现了这个对话框。该对话框显示的是CLSID {00024500-0000-0000-C000-000000000046},指向Excel。我的x64机器上安装了Excel x64。显然,Visio x32和Excel x64之间的不匹配导致了问题。在卸载Microsoft Office 2013 x64并重新安装Microsoft Office 2013 x32后,我可以无错误地运行该插件。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接