0

我需要我的 MVC4 web.api 应用程序来处理简单的 Com-object (ATL dll)。在开发服务器上一切正常,但是当我将项目发布到本地 IIS 时,我收到了错误消息

由于以下错误,无法获取具有 CLSID {E3D8B330-0622-4857-99D2-A72EB7A4CDE3} 的组件的 COM 类工厂:80040154 未注册类(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))。

我使用 regsvr32 来注册我的 dll。我什至制作了使用相同 dll 并且一切正常的示例控制台应用程序。

有什么建议么?

4

2 回答 2

0

测试应用程序能否使用运行 IIS 的凭据成功运行?

如果没有,运行 IIS 的帐户是否有权访问注册表项?

应用程序池是 32 位还是 64 位;它与 COM DLL 匹配吗?

于 2013-09-11T13:32:44.783 回答
0

解决了!

需要为 x64 构建 COM 对象 (dll)(请参阅 VS 中的项目属性)。我安装了 Win7 x64,所以在它上面运行的 IIS 也是 x64(我猜)。

于 2013-09-18T07:48:13.863 回答