Win8 x64环境下VS2010 C#工程运行报错:没有注册类 (异常来自 HRESULT:0x80040154

来源:http://blog.sina.com.cn/s/blog_7095482001019c2v.html

问题描述:

在Win8 x64环境下,VS2010的C#工程中引用了COM组件(Active X控件,且已正确注册),可是一运行工程就会报如下异常错误:

未处理 System.Runtime.InteropServices.COMException
  Message=没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
  Source=System.Windows.Forms
  ErrorCode=-2147221164
  StackTrace:
       在 System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
       在 System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)
       在 System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
       在 System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
       在 System.Windows.Forms.AxHost.CreateInstance()
       在 System.Windows.Forms.AxHost.GetOcxCreate()
       在 System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
       在 System.Windows.Forms.AxHost.CreateHandle()
       在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       在 System.Windows.Forms.AxHost.EndInit()
       在 ORI.GTJDA.ImageProcessingControl.ImageViewControl.InitializeComponent()

解决办法:

造成上述错误的罪魁祸首就是工程文件“属性--生成”中的目标平台造成的,如下图,如果选择Any CPU或者x64就会出现上述问题,将它设置为x86,问题得以解决。

时间: 2024-08-05 17:20:32

Win8 x64环境下VS2010 C#工程运行报错:没有注册类 (异常来自 HRESULT:0x80040154的相关文章

C#下没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))

C#下没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)) 原因:没有原生支持64位,而是以32位兼容方式运行 解决办法:在项目属性里设置“生成”=>“目标平台”为x86而不是默认的ANY CPU. 转自:http://www.cnblogs.com/starxp/articles/2528288.html

RN环境下安装Redux后xcode报错文件找不到

这个坑我躺了一天,主要是因为安装Redux的时候,自动删除了很多原来React下面的文件,开始以为指示react-native模块被删除了,所以只进行了这个模块的重新安装,然而,不幸的是有报错了,说是Image组件没有找到,瞬间懵逼,因为我还没开始写代码,这个组件也没用过啊,看下报错的路径,才发现是自带的文件报错,可以肯定,我的开发环境被破坏了. 解决方案:直接删除所有模块组件,然后cd到项目根目录npm install,重新安装组件模块就可以了,这个时候他会根据你的package-lock.j

PL/SQL在win7/win8 x64位下使用客户端连接oracle

新做了win8 x64位的系统.需要使用plsql连接oracle数据库.之前的机器装有64位的oracle11g,plsql可以直接找到oracle_home连接到数据库. 这次不想在本地安装数据库,因此只装了一个32位的数据库客户端.配置环境变量时遇到一些小问题,在此记录下来. 1.下载oracle客户端,然后解压到任意目录下 2.安装好plsql,然后配置plsql的oracle_home和oci库的地址 plsql的preference设置 ORACLE_HOME:F:\oracle\p

Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本号的开发环境

2014-06-01 BaoXinjian In Capgemini 一.摘要 因为用户在调用Request时需输入很多参数,经过很多Form页面,如果想打印采购订单,发票,日记账时, 客户会要求在From中新增一个按钮,客户只需按这个按钮即可将采购订单进行输出,系统会自动调取采购订单页面上的数据,无需用户输入,实行自动化,增加用户交互性 一般这种需求有两种实现方式 通过custom.pll,用代码进行定制 通过form personalization,用设定进行定制 在调用程式时,一般会用到f

shell脚本在cygwin下运行报错: $'\r': command not found

在cygwin 下运行shell脚本,出现"$'\r': command not found",这是win dos与Unix文本编辑方式不同造成的.可以使用cygwin工具dos2unix将script改为unix格式. $ dos2unix test.sh dos2unix: converting file test.sh to UNIX format ... $ sh test.sh 如此便可解决. 参见:http://lxs647.iteye.com/blog/2084375 s

运行Scrapy工程,报错ModuleNotFoundError: No module named 'win32api'解决方法

1.运行爬虫scrapy crawl name,报错ScrpyModuleNotFoundError: No module named 'win32api' 2.解决方法: 在https://github.com/mhammond/pywin32/releases找到合适的软件,进行下载安装. 3.完成安装: 4.安装成功后,再次运行scrapy crawl name.运行成功 运行Scrapy工程,报错ModuleNotFoundError: No module named 'win32api

64位系统php运行报错:1%不是有效的win32应用程序解决

问题一:php运行报错:1% 不是有效的 win32 应用程序 php环境配置完毕后,运行html成功,但运行php就报错,错误提示是"1% 不是有效的 win32 应用程序",英文报%1 is not a valid Win32 application.第一次碰到这样的问题,经过搜索和试验,问题终于解决. 报错原因:由于在64位操作系统里,默认配置下,IIS工作在64位模式下,这会让许多32位的应用不能正常工作. 解决方法: 1)进入命令提示符:开始->运行 cmd 2)执行脚

iOS开发运行报错、常见问题

一.报错与警报 1.错误代码:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s) build 这个target的时候命令行报错.可以在 build setting 中,搜索bitcode,并吧 enable bitcode 设置为 NO. 2.ld:framework not found IOKit 终端输入以下2行内容 1 2 3 cd/Appl

appium运行报错java.net.SocketException: socket write error

这个错我调了 快两天一点头绪没有,脚本正常跑没问题,但是就是控制台输出信息报错,没法定位问题在哪.报错如图: 虽然这个报错不影响测试结果,但是本人有强迫症,一定要查出究竟: 我的尝试: 1.那天试验,服务器上的代码没问题,我本地一运行就报这个错,结果我把系统重装了(先前我查了两个小时百度加上尝试,无果) 2.今天从中午开始又开始搞起来,起初怀疑是我的io操作引起的,结果在finanly加了process.destroy();及p.getErrorStream(),close也不行, 网上查了说是