我在运行 IIS6 的 Windows XP Pro SP2 x64 机器上收到以下错误:
I'm receiving the following error on a Windows XP Pro SP2 x64 machine running IIS6:
System.Runtime.InteropServices.COMException:
Retrieving the COM class factory for component with CLSID
{3C250CBD-6CC9-11D2-9457-00004B48467E} failed due to the following error:
80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
这发生在尝试实例化 COM 互操作对象时.
This occurs when trying to instantiate a COM interop object.
奇怪的是,这在与应用程序池(AD 中的用户)在同一帐户下运行的控制台应用程序中运行良好.IE.两者都使用 UserX,所以这似乎不是一个明显的权限问题.
Oddly enough, this works fine from a console application running under the same account as the application pool (a user in AD). I.e. both use UserX, so it doesn't seem like an obvious permissions issue.
其他人有类似的吗?
确保您的应用程序池是 32 位(或支持 32 位应用程序)或您的 COM 控件支持 64 位应用程序.很可能,您的本机 COM 库是 32 位的,而您的池默认运行 64 位工作程序,无法加载 32 位 COM dll.
Make sure that your application pool is either 32 bit (or supports 32 bit apps) or your COM control supports 64 bit apps. Most likely, your native COM library is 32bit and your pool runs a 64 bit worker by default, which is unable to load 32bit COM dll.
这篇关于“80040154 类未注册"与 ASP.NET 的互操作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!