2010-12-01 69 views
0

您好, 我已经将VB 6项目转换为VB.NET 2008 其中一种形式在设计模式下会引发以下错误。 类未注册(从HRESULT异常:0x80040154的(REGDB_E_CLASSNOTREG)) 这里是调用堆栈:类未注册错误VB.NET 2008

在System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(GUID & CLSID,对象punkOuter,的Int32上下文,的Guid & IID ) 在System.Windows.Forms.AxHost.CreateWithoutLicense(GUID CLSID) 在System.Windows.Forms.AxHost.CreateInstanceCore(GUID CLSID) 在System.Windows.Forms.AxHost.CreateInstance() 在System.Windows。 Forms.AxHost.GetOcxCreate() at System.Windows.Forms.AxHost.set_Site(ISite value) at System.ComponentModel.Container.A dd(IComponent组件,字符串名称) at System.ComponentModel.Design.DesignerHost.Add(IComponent component,String name) at System.ComponentModel.Design.DesignerHost.System.ComponentModel.Design.IDesignerHost.CreateComponent(Type componentType,String名称) at System.ComponentModel.Design.Serialization.DesignerSerializationManager.CreateInstance(Type type,ICollection arguments,String name,Boolean addToContainer) at System.ComponentModel.Design.Serialization.DesignerSerializationManager.System.ComponentModel.Design.Serialization.IDesignerSerializationManager。 CreateInstance(Type type,ICollection arguments,String name,Boolean addToContainer) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeInstance(IDesignerSerializationManager manager,Type type,Object [] parameters,String name,Boolean addToC (System.ComponentModel.Design.Serialization.ComponentCodeDomSerializer.DeserializeInstance(IDesignerSerializationManager manager,Type type,Object [] parameters,String name,Boolean addToContainer) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager,字符串名称,CodeExpression表达) 在System.ComponentModel.Design.Serialization.CodeDomSerializer.DeserializeStatementToInstance(IDesignerSerializationManager经理,CodeStatement语句) 在System.ComponentModel.Design.Serialization.CodeDomSerializer.Deserialize(IDesignerSerializationManager经理,对象codeObject) 的系统。 Windows.Forms.Design.ControlCodeDomSerializer.Deserialize(IDesignerSerializationManager manager,Object codeObject) at System .ComponentModel.Design.Serialization.TypeCodeDomSerializer.DeserializeName(IDesignerSerializationManager经理,字符串名称,CodeStatementCollection语句)

我复制在项目中的dll到系统32并使用Regasm.exe使用Visual Studio的命令行工具,使注册确定所有的Dll都已经注册。 但问题仍然存在。还有什么我可以尝试使这项工作? 请指教。

+0

您是否在调用regasm时使用`codebase`参数? – sharptooth 2010-12-01 14:47:04

回答

0

我不是很确定这个解决方案,但在项目属性中,我添加了引用path.so,应用程序知道在哪里查找程序集,它的工作原理!