Подтвердить что ты не робот

"Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"

Я пытаюсь использовать приложение, приложение работает нормально, я пытаюсь редактировать существующий элемент в приложении. щелкнув править am, получив следующую ошибку,

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: 

С его файлом Dll, который я использовал с моим приложением. Я попытался зарегистрировать этот файл dll с помощью regsvr32, но я не могу это сделать.

DLL:AxInterop.DHTMLEDLib.dll & Interop.DHTMLEDLib.dll

У кого-нибудь есть идея об этом исключении?

4b9b3361

Ответ 1

Какова целевая платформа вашего приложения? Я думаю, вы должны установить платформу на x86, не устанавливайте ее на Any CPU.

Ответ 2

Это, вероятно, не решение вашей проблемы, но предложение на всякий случай (я знаю, что раньше сталкивался с подобной проблемой, но не с .NET-приложением).

Если вы находитесь на 64-битной машине, есть файлы 2 regsvr32.exe; Один находится в \Windows\System32 а другой - в \Windows\SysWOW64.

Вы не можете зарегистрировать 64-битные COM-объекты с 32-разрядной версией, но вы можете сделать это наоборот. Я попытался бы зарегистрировать вашу DLL с обоими regsvr32.exe файлами явно (например, набрав "C:\Windows\System32\regsvr32.exe /i mydll.dll", а затем "C:\Windows\SysWOW64\regsvr32.exe /i mydll.dll" ) и посмотрев, поможет ли это...

Ответ 3

Я получил ту же ошибку с компонентом vlc, когда я изменил структуру с 4.5 до 4. но это сработало для меня, когда я сменил платформу с любого процессора на x86.

Ответ 4

То, что я сегодня наткнулся на DLL, которую я знал, отлично работает с моим проектом VS2013, но не с VS2015:

Перейдите к: Project -> XXXX Properties -> Build -> Uncheck "Prefer 32-bit"

Этот ответ просрочен и, вероятно, не принесет пользы, но если вы. Но я надеюсь, что это когда-нибудь поможет кому-нибудь.

Ответ 5

Мое решение состояло в том, чтобы создать платформу в диспетчере конфигурации в visual studio и установить x64

Ответ 6

[HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

Просто глядя на сообщение, это звучит как один или несколько компонентов, которые вы ссылаетесь, или одна или несколько из их зависимостей зарегистрированы неправильно.

Если вы знаете, какой компонент вы можете использовать regsvr32.exe, чтобы зарегистрировать его, просто откройте командную строку, перейдите в каталог, в котором находится этот компонент, и введите regsvr32 filename.dll(предположим, что это dll), если он работает, попробуйте снова запустить код, иначе вернитесь сюда с ошибкой.

Если вы не знаете, какой именно компонент, попробуйте переустановить/восстановить программное обеспечение ГИС (предположим, вы установили какое-то программное обеспечение ГИС, которое включает компонент, который вы пытаетесь использовать).

Ответ 7

Вам нужно будет зарегистрировать DHTMLED.ocx

Ответ 8

После последовательности попыток я пришел к простому решению. Вы можете попробовать переустановить плагин ActiveX для Adobe flashplayer.

Ответ 9

откройте cmd от имени администратора и попробуйте зарегистрироваться в обоих местах