26

アプリケーションを使用しようとしています。アプリケーションは正常に動作しています。アプリケーション内の既存のアイテムを編集しようとしています。編集をクリックすると、次のエラーが発生します。

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ファイルと一緒です。regsvr32 を使用してこの dll ファイルを登録しようとしましたが、作成できません。

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

誰でもこの例外について考えがありますか?

4

9 に答える 9

37

アプリケーションのターゲット プラットフォームは何ですか? プラットフォームを に設定する必要があると思いますがx86、 に設定しないでくださいAny CPU

于 2013-05-15T16:55:28.820 に答える
13

これはおそらくあなたの問題の解決策ではありませんが、念のための提案です(私は以前に同様の問題に遭遇したことは知っていますが、.NETアプリケーションでは発生しませんでした)。

64ビットマシンを使用している場合、2つ regsvr32.exeのファイルがあります。1つはに\Windows\System32 あり、もう1つはにあり\Windows\SysWOW64ます。

64ビットのCOMオブジェクトを32ビットバージョンに登録することはできませんが、その逆は可能です。DLLを両方のregsvr32.exeファイルに明示的に登録して(つまり、「」と入力してから「C:\Windows\System32\regsvr32.exe /i mydll.dll」と入力C:\Windows\SysWOW64\regsvr32.exe /i mydll.dllして)、それが役立つかどうかを確認してみます...

于 2012-06-18T05:51:49.357 に答える
7

フレームワークを 4.5 から 4 に変更したときに vlc コンポーネントで同じエラーが発生しましたが、プラットフォームを任意の CPU から x86 に変更したときにうまくいきました。

于 2013-08-08T00:02:56.640 に答える
5

今日、VS2013 プロジェクトでは正常に動作していたが、VS2015 では正常に動作していないことがわかっている DLL を見つけました。

次の場所に移動します。Project -> XXXX Properties -> Build -> Uncheck "Prefer 32-bit"

この答えはかなり遅れており、おそらく何の役にも立たないでしょうが、もしそうなら。しかし、これがいつか誰かを助けることを願っています。

于 2016-03-09T14:40:02.860 に答える
1

[HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

メッセージを見るだけで、参照している 1 つ以上のコンポーネント、または 1 つ以上の依存関係が適切に登録されていないように聞こえます。

regsvr32.exe を使用して登録できるコンポーネントがわかっている場合は、コマンド プロンプトを開き、コンポーネントがあるディレクトリに移動し、regsvr32 filename.dll (dll であると仮定) と入力します。コードをもう一度実行してください。それ以外の場合は、エラーでここに戻ってきます。

どのコンポーネントかがわからない場合は、GIS ソフトウェアを再インストール/修復してみてください (使用しようとしているコンポーネントを含む GIS ソフトウェアがインストールされていると思います)。

于 2014-01-11T06:20:57.793 に答える
0

DHTMLED.ocxを登録する必要があります

于 2012-06-18T05:52:05.563 に答える
0

一連の試みの後、私は簡単な解決策にたどり着きました。Adobe flashplayer の ActiveX プラグインの再インストールを試すことができます。

于 2016-03-30T12:57:33.067 に答える