「クラスが登録されていません」COM 例外の解決
COM クラスをインスタンス化するときに、次のエラーが発生する可能性があります:
<code>Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))</code>
これは、コードが使用する COM クラスがシステムに正しく登録されていないことを示します。 修正方法は次のとおりです:
1.アーキテクチャの調整:
すべてのアセンブリが正しいシステム アーキテクチャ向けに構築されていることを確認します。 64 ビット環境でエラーが発生した場合は、アセンブリが x64 用にコンパイルされていることを確認してください。 x86 用のソリューションを再構築すると、問題が解決される可能性があります。
2. COM コンポーネントを再登録します:
アーキテクチャが問題ではない場合は、コード内で参照されている COM コンポーネントを再インストールしてみてください。 COM コンポーネントのインストーラーまたはレジストリ情報は、通常、Microsoft Visual Studio Tools for Office インストーラーまたは Windows レジストリ (HKCR\CLSID
の下) 内にあります。
役立つテクニック:
RegAsm
ユーティリティを使用すると、COM クラスの手動登録と登録解除が可能になります。Enable32BitApplications
レジストリ キー (HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
にあります) を 1 に設定して、32 ビット アプリケーションのサポートが有効になっていることを確認します。これらの手順に従うことで、COM 登録例外を効果的に診断して解決し、アプリケーションが中断なく実行されるようにすることができます。
以上が「クラスが登録されていません」COM 例外 (0x80040154) を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。