使用COM接口将网站部署到IIS会导致类未注册错误

nic*_*ick 3 asp.net com iis-7 32bit-64bit windows-7

我有一个ASP.NET站点,需要使用我们开发的COM接口.当我在visual studio环境中测试网站时,它工作正常.但是,当我将站点部署到IIS时,我收到一条错误说明

Retrieving the COM class factory for component with CLSID {0716BE95-6372-46B2-B42D-9FC0ED5E0FE3} failed due to the following error: 80040154 Class not registered

我尝试了一些事情

  1. 确保包含类IS的dll实际上已注册.我确保注册表中的条目与错误声明无法加载的CLSID匹配.
  2. 取消注册dll并使用regsvr32.exe重新注册它
  3. 遵循这个问题的建议.我试图使用的课程不是服务,所以我不确定这个问题与我的问题有多相关.
  4. 遵循这个问题的建议.同样,我不确定这是多么相关,因为该问题表明它是一个访问被拒绝的错误.
  5. 取消注册并重新注册dll后重新启动我的机器
  6. 从改变我的项目的目标平台Any CPU,以x86作为建议这个答案.这导致另一个问题.Could not load file or assembly 'TestWebSimpleMath' or one of its dependencies. An attempt was made to load a program with an incorrect format.我认为这是一个倒退.

我正在运行Windows 7旗舰版64位.

任何帮助都会很棒.我一直试图让这个工作近9个小时没有运气.

bot*_*bot 6

原因:
您的服务是针对"任何CPU"构建的,导致您在使用COM组件的64位上出错.你需要为'x86'构建它.

解决方案:
在Visual Studio中,右键单击PROJECT,然后选择PROPERTIES.单击BUILD选项卡,然后在PLATFORM TARGET下Any CPU更改为X86.

可能重复此问题.

更新:启用32位应用程序

转到IIS - >应用程序池 - >高级设置 - >启用32位应用程序

检查此相关问题


归档时间:

查看次数:

2917 次

最近记录:

12 年,9 月 前