【发布时间】:2012-04-06 18:29:43
【问题描述】:
也许是人们能看到的最糟糕的错误消息类型。不代表什么,可能与一切有关……
我尝试在 IIS 7.5 上创建 Web 服务 (WS)(我最初尝试过 WCF 服务,但情况相同) WS 使用一个成功注册的 COM DLL,并给出了 COM 安全权限。
当我使用 Visual Studio Development Server 运行 WS 时,一切都很好,我得到了所要求的结果。但是当我尝试将 WS 部署到 IIS 时,我最终得到了
System.Runtime.InteropServices.COMException: Catastrophic failure
我的电脑装有 Windows Server 2008 R2 Standard,x64。 我必须强调:我开发(使用Visual Studio 2010 Ultimate),测试(使用Visual Studio Development Server)并部署(使用IIS 7.5) 在同一台计算机上。
我认为问题可能与 32-64 位不兼容有关,因为我的 COM 支持 32 位。因此,我更改了应用程序池设置以启用 32 位应用程序,在 Visual Studio 中将平台目标更改为 x86,重新部署 WS,这些都没有帮助。
我的问题是:
如何在 VS 开发服务器上成功运行 WS 但在 IIS 上失败? 我还应该在 IIS 设置中更改什么?
【问题讨论】:
-
尝试安装 Microsoft Visual C++ 2010 Redistributable (64/32)
-
错误码的名字比较好,E_UNEXPECTED。这是准确的,你没想到它:)
-
您是否找到有关该错误的任何解决方案?我遇到了同样的错误,但还没有找到任何解决方案。
-
当我尝试通过 MS-office-visio 的 ODBC 连接到 mysql 数据库时遇到了同样的问题
-
@ftuna:我已收到提供商的解决方案。实际上,COM 注册过程没有完整记录,我所有的“自然”假设都是错误的。我强烈建议联系供应商...
标签: visual-studio iis com x86