是0x80040154的一个收到COMException总是“类没有注册”? [英] Is a COMException of 0x80040154 always 'Class not registered'?

查看:1790
本文介绍了是0x80040154的一个收到COMException总是“类没有注册”?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

中是否0x80040154的一个System.Runtime.InteropServices.COMException总是意味着类没有注册?我得到一个收到COMException它说检索COM类工厂具有CLSID组件{29131539-2EED-1069-BF5D-00DD011186B7}失败,原因是以下错误:80040154。它试图加载Interop.Domino.dll这是一个参考我从添加引用称为Lotus Domino的对象COM选项卡指向在Notes程序文件夹domobj.tlb了。

Does a System.Runtime.InteropServices.COMException of 0x80040154 always mean that the class isn't registered? I'm getting a COMException which says "Retrieving the COM class factory for component with CLSID {29131539-2EED-1069-BF5D-00DD011186B7} failed due to the following error: 80040154." It's trying to load Interop.Domino.dll which is a reference I got from the COM tab of Add Reference called "Lotus Domino Objects" which points to domobj.tlb in the Notes program folder.

我的code年前写 - 这是我曾经与互操作做的唯一的事情,它是公平地说,我从来没有真正得到认真对待它

I wrote the code years ago - it's the only thing I've ever done with interop and it's fair to say that I never really got to grips with it.

我又一次感动的code到2008 R2服务器后看到这个错误(所以它的64位)。这是写在XP和运行在2003(86)。为了诊断问题,我建了一个Win7的x86(因为没有R2 x86)的框,它的工作。我还内置了一枚2003 64盒,它失败了同样的错误,所以它看起来像它造成转向x64体系结构。有什么是我应该做的做的互操作,以获得86 COM DLL才能工作在x64机器?

I'm seeing this error again after moving the code to a 2008 R2 server (so it's x64). It was written on XP and run on 2003 (both x86). In order to diagnose the problem, I built a Win7 x86 (because there's no R2 x86) box and it worked. I also built a 2003 x64 box and it fails with the same error, so it looks like it's caused by moving to x64 architecture. Is there something I should do when doing interop to get x86 COM DLLs to work on x64 machines?

推荐答案

我有同样的问题,试图建立与运行在Windows 7 x64的.NET应用程序中调用interop.domino.dll,这是只有32位。

I had the same problem trying to build and run a .NET application on Windows 7 x64 that called interop.domino.dll, which is 32 bit only.

要解决,我重新编译的.NET应用程序,专门为86运行在x64操作系统上运行时。

To resolve, I recompiled the .NET application to run specifically as x86 when run on x64 operating systems.

我是使用Visual Studio 2010的前preSS版是棘手专门针对x86平台比支付的版本。

I was using Visual Studio 2010 Express Edition which is trickier to target specifically for x86 platforms than the paid for versions.

解决的办法是:

  1. 单击工具>选项>项目和解决方案
  2. 勾选显示高级生成配置,然后单击确定
  3. 单击工具>设置>检查专家设置来看看构建配置管理器
  4. 单击生成>配置管理器中选择平台下拉列表X86并单击关闭
  5. 现在,重建项目

这篇关于是0x80040154的一个收到COMException总是“类没有注册”?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆