您好 我已经将VB 6项目转换为VB.NET 2008 其中一个表单在设计模式下抛出以下错误。 类未注册(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG)) 这是调用堆栈:
在System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid,Object punkOuter,Int32 context,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() 在System.Windows.Forms.AxHost.set_Site(ISite值) 在System.ComponentModel.Container.Add(IComponent组件,String name) 在System.ComponentModel.Design.DesignerHost.Add(IComponent组件,String name) 在System.ComponentModel.Design.DesignerHost.System.ComponentModel.Design.IDesignerHost.CreateComponent(Type componentType,String name) 在System.ComponentModel.Design.Serialization.DesignerSerializationManager.CreateInstance(类型类型,ICollection参数,字符串名称,布尔addToContainer) at System.ComponentModel.Design.Serialization.DesignerSerializationManager.System.ComponentModel.Design.Serialization.IDesignerSerializationManager.CreateInstance(Type type,ICollection arguments,String name,Boolean addToContainer) 在System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeInstance(IDesignerSerializationManager manager,Type type,Object []参数,String name,Boolean addToContainer) at System.ComponentModel.Design.Serialization.ComponentCodeDomSerializer.DeserializeInstance(IDesignerSerializationManager manager,Type type,Object [] parameters,String name,Boolean addToContainer) 在System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager,String name,CodeExpression expression) 在System.ComponentModel.Design.Serialization.CodeDomSerializer.DeserializeStatementToInstance(IDesignerSerializationManager manager,CodeStatement statement) 在System.ComponentModel.Design.Serialization.CodeDomSerializer.Deserialize(IDesignerSerializationManager manager,Object codeObject) 在System.Windows.Forms.Design.ControlCodeDomSerializer.Deserialize(IDesignerSerializationManager manager,Object codeObject) 在System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.DeserializeName(IDesignerSerializationManager manager,String name,CodeStatementCollection语句)
我将项目中的dll复制到系统32,并使用Visual Studio命令行工具使用Regasm.exe进行注册,以确保所有Dll都已注册。 但问题仍然存在。还有什么我可以尝试使这项工作? 请指教。
答案 0 :(得分:0)
我不太确定这个解决方案但是在项目属性中我添加了引用路径。所以应用程序知道在哪里查找程序集并且它有效!