这似乎是一个热门话题,但没有一个我见过的解决方案为我工作。检索COM类工厂失败;班级未注册
我的web应用程序使用PolarZIP来处理压缩和解压缩从最终用户获取/接收的XML文件。在我的项目中没有对PolarZIP.dll的引用,在该类中没有任何使用语句来执行此项工作,但在我们的实时服务器上,该应用程序的行为正确。在当地,只要它试图实例化这个PolarZIP对象我得到这个异常:
Retrieving the COM class factory for component with CLSID {9A00B901-D104-11D4-B8F7-080030001D26} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
这是最流行的线程我能找到的:
但设置所有我的项目中为x86构建的解决方案(而不是'任何CPU')使事情变得更糟 - 当我启动应用程序时,我得到这个新的服务器错误:
Could not load file or assembly 'OurSoftware.Business' or one of its dependencies. An attempt was made to load a program with an incorrect format.
引用此错误的大多数其他问题或者只是被标记为我上面链接的那个的重复,或者根本没有任何答案 我在我的C:\Windows\SysWOW64\
文件夹中有PolarZIP.ocx,它是活动服务器上的位置(其中该软件功能正常)。
任何想法?
编辑; CLSID 9A00B901-D104-11D4-B8F7-080030001D26
确实显示在注册表中是否有问题。名称:(默认),类型:REG_SZ,数据:PolarZIP控制
您必须以32位模式运行您的网络应用才能使用此组件。谷歌“以32位模式运行Web应用程序”获得匹配。 –
在我的应用程序使用的应用程序池中,在IIS中启用“32位应用程序”设置为“true” – sab669
嗯,这不是例外说的。你强制x86,服务器不喜欢它。很难猜测为什么你会忽略你的问题这样一个重要的细节顺便说一句。移动一下,我们看不到你的屏幕。 –