【发布时间】:2012-02-27 21:59:47
【问题描述】:
对于 64 位操作系统,C# 应用程序将使用 BeauGague ActiveX 控件 (www.beaugauge.com)。
编译成功,但运行时显示错误“HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)”。 我能做些什么来解决这个问题?
【问题讨论】:
对于 64 位操作系统,C# 应用程序将使用 BeauGague ActiveX 控件 (www.beaugauge.com)。
编译成功,但运行时显示错误“HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)”。 我能做些什么来解决这个问题?
【问题讨论】:
它在设计模式下工作,因为 Visual Studio 是一个 32 位程序。但不是在运行时,在 VS2008 及更早版本中,该项目是针对 AnyCPU 构建的。这可以让您在 64 位版本的 Windows 上获得 64 位进程。不能加载只能作为 32 位 DLL 使用的 ActiveX 组件。
您的供应商最近似乎没有做太多事情来跟上发展的步伐。解决方法很简单:在“解决方案资源管理器”窗口、“属性”、“编译”选项卡中右键单击您的 EXE 项目。将平台目标设置更改为 x86。这可确保您的程序始终作为 32 位进程运行。
【讨论】: