2013-05-30 55 views
2

我有一个需要使用我们开发的COM接口的ASP.NET网站。当我在Visual Studio环境中测试网站时,它工作正常。然而,当我去部署站点到IIS,我收到一个错误,说明使用COM接口将网站部署到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. 确保包含类的dll其实注册的。我确保注册表中的条目匹配错误声明它未能加载的CLSID。
  2. 取消注册该DLL并使用regsvr32.exe重新注册它
  3. 按照this question的建议。我尝试使用的课程不是服务,所以我不确定这个问题与我的问题有多相关。
  4. 按照this question的建议。再次,我不确定自从那个问题表明它是一个拒绝访问的错误以来有多相关。
  5. 重新启动我的机器注销并重新注册DLL
  6. Any CPU改变我的项目的平台目标x86this answer建议后。这会导致另一个问题。 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个小时,没有运气。

回答

5

原因
您的服务已建立反对“任何CPU”你在哪里使用COM组件导致你在64位的错误。你需要为'x86'构建它。

解决方案
在Visual Studio中,右键单击PROJECT然后选择性能。点击BUILD标签,然后在平台目标更改任何CPUX86

可能重复此question

更新:启用32位应用程序

进入IIS - >应用程序池 - >高级设置 - >启用32位应用程序

检查此相关question

+0

正如我在说我的问题我已经尝试过,导致错误'无法加载文件或程序集'TestWebSimpleMath'或它的一个依赖项。试图加载一个格式不正确的程序。“如果可行,你可以试试我的更新答案吗?” – nick

+0

。 – bot

+0

好吧,现在我得到访问被拒绝的错误,这是更接近:D我会按照这个问题的建议(http://stackoverflow.com/questions/14019401/80070005-access-is-denied-when- asp-net-website-with-crystal-report-is-deployed-o?lq = 1),希望能够解决所有问题。谢谢你的帮助。我会让你知道它是怎么回事 – nick