GISアプリケーションを構築していますが、コードを実行するたびにこのエラーが発生します
System.Runtime.InteropServices.COMExceptionが処理されませんでしたCLSID {FBF5715D-A05D-11D4-A64C-0008C711C8C1}のコンポーネントのCOMクラスファクトリの取得は、次のエラーのために失敗しました:80040154クラスが登録されていません(HRESULTからの例外:0x80040154(REGDB_E_CLASSNOTREG)) 。
また、プロジェクトプロパティでは、COM相互運用機能の登録オプションが無効になっています。
これは、64 bit
構成を使用してコードをビルドする際の問題でもある可能性があります。この問題を解決できるビルドプラットフォームとしてx86
を選択してみてください。これを行うには、ソリューションを右クリックしてConfiguration Manager
を選択します。そこから、32ビットの.dllを使用してプロジェクトのPlatform
をx86
に変更できます。
メッセージを見るだけで、参照する1つ以上のコンポーネント、または1つ以上の依存関係が正しく登録されていないように聞こえます。
どのコンポーネントかがわかっている場合は、regsvr32.exeを使用して登録し、コマンドプロンプトを開いて、コンポーネントがあるディレクトリに移動し、regsvr32 filename.dll
(dllであると仮定)、動作する場合は、コードを再度実行してください。そうでない場合は、エラーとともにここに戻ってください。
どのコンポーネントかわからない場合は、GISソフトウェアを再インストール/修復してみてください(使用しようとしているコンポーネントを含むGISソフトウェアがインストールされていると仮定します)。