我需要我的MVC4 web.api应用程序才能使用简单的Com-object(ATL dll)。 所有在开发服务器上工作正常,但当我将项目发布到本地IIS时,我收到了错误消息
由于以下错误,无法获取具有CLSID {E3D8B330-0622-4857-99D2-A72EB7A4CDE3}的组件的COM类工厂:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。
我用regsvr32来注册我的dll。 我甚至制作了使用相同dll的示例控制台应用程序,所有这些都可以正常工作。
有什么建议吗?
答案 0 :(得分:0)
测试应用程序是否可以使用IIS运行的凭据成功运行?
如果没有,IIS下运行的帐户是否可以访问注册表项?
应用程序池是32位还是64位;它与COM DLL匹配吗?
答案 1 :(得分:0)
解决!
需要为x64构建COM-object(dll)(请参阅VS中的Project&#39属性)。 我安装了Win7 x64,因此运行它的IIS也是x64(我猜)。