c# - registered - "Clase no registrada(excepción de HRESULT: 0x80040154(REGDB_E_CLASSNOTREG))"
failed due to the following error 80040154 clase no registrada (8)
¿Cuál es la plataforma objetivo de su aplicación? Creo que deberías configurar la plataforma en x86
, no la configures en Any CPU
.
Estoy tratando de usar una aplicación, la aplicación funciona bien, estoy tratando de editar el elemento existente en la aplicación. al hacer clic en la edición me aparece el siguiente error,
System.Runtime.InteropServices.COMException was unhandled
Message="Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"
Source="System.Windows.Forms"
ErrorCode=-2147221164
StackTrace:
at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
at System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)
at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
at System.Windows.Forms.AxHost.CreateInstance()
at System.Windows.Forms.AxHost.GetOcxCreate()
at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
at System.Windows.Forms.AxHost.CreateHandle()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.AxHost.EndInit()
at bulk_lister.frm_edititem.InitializeComponent() in New Bulklister/new bulklister/bulk_lister/bulk_lister/frm_edititem.designer.cs:line 4248
at bulk_lister.frm_edititem..ctor(Int32 userid, Int32 intListingId) in New Bulklister/new bulklister/bulk_lister/bulk_lister/frm_edititem.cs:line 187
at bulk_lister.parent_form.funEditItem_fromrghtclktoolStrip_edititm() in New Bulklister/new bulklister/bulk_lister/bulk_lister/parent_form.cs:line 1313
at bulk_lister.parent_form.rghtclktoolStrip_edititm_Click(Object sender, EventArgs e) in New Bulklister/new bulklister/bulk_lister/bulk_lister/parent_form.cs:line 1233
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at bulk_lister.Program.Main() inNew Bulklister/new bulklister/bulk_lister/bulk_lister/Program.cs:line 17
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
at System.Activator.CreateInstance(ActivationContext activationContext)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
Es con el archivo Dll que he usado con mi aplicación. He intentado registrar este archivo dll usando regsvr32 pero no puedo hacerlo.
DLL:AxInterop.DHTMLEDLib.dll & Interop.DHTMLEDLib.dll
¿Alguien tiene idea sobre esta excepción?
Algo que encontré hoy para una DLL que sabía que funcionaba bien con mi proyecto VS2013, pero no con VS2015:
Vaya a: Project -> XXXX Properties -> Build -> Uncheck "Prefer 32-bit"
Esta respuesta está muy atrasada y probablemente no servirá de nada, pero si usted. Pero espero que esto ayude a alguien algún día.
Después de una secuencia de intentos llegué a una solución fácil. Puede intentar Reinstalar el complemento ActiveX para Adobe flashplayer.
Mi solución fue crear la plataforma en el administrador de configuración en Visual Studio y establecerla en x64
Necesitas registrarte DHTMLED.ocx
Probablemente, esta no sea una solución a su problema, sino una sugerencia en caso de que (Sé que tuve un problema similar antes pero no con una aplicación .NET).
Si está en una máquina de 64 bits, hay 2 archivos regsvr32.exe
; Uno está en /Windows/System32
y el otro está en /Windows/SysWOW64
.
No puede registrar objetos COM de 64 bits con la versión de 32 bits, pero puede hacerlo al revés. Intentaría registrar su DLL con ambos archivos regsvr32.exe
explícitamente (es decir, escribiendo " C:/Windows/System32/regsvr32.exe /i mydll.dll
" y luego " C:/Windows/SysWOW64/regsvr32.exe /i mydll.dll
") y viendo si eso ayuda ...
Recibí el mismo error con el componente vlc cuando cambié el marco de 4.5 a 4. pero funcionó para mí cuando cambié la plataforma de Cualquier CPU a x86.
[HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
Con solo mirar el mensaje, parece que uno o más de los componentes a los que hace referencia, o uno o más de sus dependencias no están registrados correctamente.
Si sabe de qué componente se trata, puede usar regsvr32.exe para registrarlo, simplemente abra el símbolo del sistema, vaya al directorio donde se encuentra el componente y escriba regsvr32 filename.dll (suponiendo que es una DLL). Si funciona, intente ejecute el código de nuevo, de lo contrario vuelva aquí con el error.
Si no sabe de qué componente se trata, intente volver a instalar / reparar el software GIS (supongo que ha instalado algún software GIS que incluye el componente que está tratando de usar).