0

単純な Com オブジェクト (ATL dll) を操作するには、MVC4 web.api アプリケーションが必要です。開発サーバーではすべて正常に動作しますが、プロジェクトをローカル IIS に公開するとエラー メッセージが表示されます

次のエラーのため、CLSID {E3D8B330-0622-4857-99D2-A72EB7A4CDE3} を持つコンポーネントの COM クラス ファクトリを取得できません: 80040154 クラスが登録されていません (HRESULT からの例外: 0x80040154 (REGDB_E_CLASSNOTREG))。

regsvr32 を使用して dll を登録しました。同じ dll を使用するサンプル コンソール アプリも作成しましたが、この方法ですべて正常に動作します。

助言がありますか?

4

2 に答える 2

0

IIS が実行されている資格情報を使用して、テスト アプリを正常に実行できますか?

そうでない場合、IIS を実行しているアカウントはレジストリ キーにアクセスできますか?

アプリ プールは 32 ビットか 64 ビットか。COM DLL と一致しますか?

于 2013-09-11T13:32:44.783 に答える
0

解決しました!

x64 用の COM オブジェクト (dll) をビルドする必要があります (VS でのプロジェクトのプロパティを参照)。私はWin7 x64をインストールしているので、その上で実行されているIISもx64です(推測)。

于 2013-09-18T07:48:13.863 に答える