2012-06-18 56 views
19

Estoy tratando de usar una aplicación, la aplicación está funcionando bien, estoy tratando de editar el elemento existente en la aplicación. al hacer clic en editar, aparece el siguiente error,"Clase no registrada (Excepción de HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"

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: 

Está con el archivo Dll que he utilizado 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?

+1

http://msdn.microsoft.com/en-us/library/aa663363.aspx –

+0

Hans, descargan http: //www.microsoft.com/en-us/download/details.aspx?id=8956 desde su enlace solucionó mi problema que era el mismo. ... Gracias – RustyH

+0

cómo resolverlo por favor? –

Respuesta

13

Esto probablemente no sea una solución a su problema, pero una sugerencia por si acaso (sé que encontré un problema similar antes pero no con una aplicación .NET).

Si está en una máquina de 64 bits, hay regsvr32.exe archivos; 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 viceversa. Me gustaría probar el registro de su DLL con ambos regsvr32.exe archivos de forma explícita (es decir, escribir "C:\Windows\System32\regsvr32.exe /i mydll.dll" y luego "C:\Windows\SysWOW64\regsvr32.exe /i mydll.dll") y ver si eso ayuda ...

+10

He intentado esto pero estoy obteniendo el error "MYDll.dll se cargó pero DllRegisterServer no se encontró" ¿Alguna ayuda sobre esto? – user1462809

+4

@ user1462809 llamando a regsvr32.exe sin "/ i" resolvió el problema para mí. –

+1

No me ayudó, pero todavía me pregunto por qué no lo han llamado regsvr64.exe ... ¿fue demasiado difícil? –

0

Se necesitaría registrar Dhtmled.ocx

+0

He registrado DHTMLED.ocx, pero no se ha recuperado el error? – user1462809

32

Lo es la plataforma objetivo de tu aplicación? Creo que debe establecer la plataforma en x86, no configurarlo en Any CPU.

+0

En mi caso, configuré en x64, porque ya está en x86 –

7

Obtuve 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.

+1

Esto no es una solución. Los programas de 32 bits no pueden acceder a más de 3 GB de memoria. – ThunderGr

1

[HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

Con sólo mirar el mensaje suena como uno o más de los componentes que hacen referencia a, o uno o más de sus dependencias no está registrado correctamente.

Si sabe qué componente es, puede usar regsvr32.exe para registrarlo, solo abra un símbolo del sistema, vaya al directorio donde está el componente y escriba regsvr32 filename.dll (suponiendo que es un dll), si funciona, intente ejecutar el código nuevamente; de ​​lo contrario, regrese aquí con el error.

Si no sabe qué componente es, intente reinstalar/reparar el software GIS (supongo que ha instalado algún software GIS que incluya el componente que está tratando de usar).

+0

obtengo este error ... se cargó el módulo AxInterop.ShockwaveFlashObjects.dll pero no se encontró el servidor DLLRegister del punto de entrada. Asegúrate de que sea un archivo dll o .ocx válido. Este dll se guarda en la carpeta bin de mi proyecto. ¿Cómo resolver esto? – Vijayaraghavan

2

Algo que tropezó hoy para una DLL sabía que estaba trabajando bien con mi proyecto VS2013, pero no con VS2015:

Ir a: Project -> XXXX Properties -> Build -> Uncheck "Prefer 32-bit"

Esta respuesta es haberle hecho y probablemente no lo hará cualquier bien, pero si tú. Pero espero que esto ayude a alguien algún día.

0

Después de una secuencia de intentos entré en una solución fácil. Puede intentar reinstalar el complemento ActiveX para Adobe Flashplayer.

1

Mi solución fue la creación de la plataforma en el gestor de configuración en Visual Studio, y se puso a 64

Cuestiones relacionadas