问题描述:

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

未处理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(Guidclsid) ??????在 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(BooleanfIgnoreVisible) ??????在 System.Windows.Forms.Control.CreateControl(BooleanfIgnoreVisible) ??????在 System.Windows.Forms.AxHost.EndInit() ??????在ORI.GTJDA.ImageProcessingControl.ImageViewControl.InitializeComponent()

解决办法:

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

可能是安装VS2010过程中出错了,只需要重新单独安装msxml6.msi。

下载地址

本文转自 彭金华 ?51CTO博客,原文链接:http://www.sxzhongrui.com/pengjh/608726

近两天发现一个问题,全新系统安装vs2010旗舰版,出现安装错误。提示安装“Windows 图像处理组件”,于是乎,我安装了

wic_x86_chs.exe文件,再次安装vs2010安装问题得到解决。

?

但是安装完毕后打开项目文件又出现错误了,提示:"写入项目文件时出错。没有注册类别","无法读取项目文件",我试着重新创建项目也没用。后来网上找到了方法。

?

去下载msxml6.msi文件安装,然后问题得到解决。

?

同样是vs2008为什么不出现这个问题了,因为2008在安装时,会安装msxml6.msi文件,同是在sp2中会有升级。

?

笔者是先安装2008然后安装的2010,所以没遇到这样的问题,单独安装vs2010可能会出现上述问题。

?