2012-05-06 8 views
1

からCOMオブジェクトをインスタンス化することはできません:Platform: x86Platform target: x86は、私はこのようなASP.NET MVCアプリケーションからCOMオブジェクトをインスタンス化したい、ASP.NET MVCアプリ

Retrieving the COM class factory for component with CLSID {16542E4F-4594-4B97-922D-BE9C478F93BB} failed due to the following error: 800aea5f Exception from HRESULT: 0x800AEA5F.

同じコードは、次のビルド構成でのWinFormsアプリから動作します。

私はCOMオブジェクトを使用するmvcアプリケーションとアセンブリの両方のWinformsアプリケーションと同じビルド構成を設定しました。

私はWindows 7、IIS 7.5、ASP.NET v4.0アプリケーションプールを有効にし、32ビットアプリケーションを有効にしています。このWebサイトは管理者権限を持つユーザーのもとで実行されます。

この問題を解決するためのアドバイスはありますか?

+0

を持つユーザーにアプリケーションプールのデフォルトユーザーを設定します。だから私はそれは64ビットの.NETコードから32ビットのCOM呼び出していると思いますか? – YvesR

+0

@ YvesR私が質問したように、私はビルド構成を設定しました:私はCOMオブジェクトを使用するmvcアプリケーションとアセンブリの両方に対して 'Platform:x86'と' Platform target:x86'を設定しました。ビットコード。 –

+0

Webサイトからcom +オブジェクトを開始できるようにDCOM権限を正しく設定しましたか?私はあなたがウェブサイトで実行しているアカウントのデフォルトの開始設定(dcomcnfg.exe)を意味します。 win2k8マシンでIISをセットアップするときは、常に調整が必要です。 – YvesR

答えて

0

はあなたの.NETのコードは32ビットで動作しますという意味ではありません32ビットモードを有効にした場合でも、管理者権限

0

@ david.sスクリーンショットをコメントとして追加する方法がわからないので、回答として設定します。 既に32ビットのものがすべてセットされているため、DLLを呼び出すことができないため、権限の問題が発生する可能性があります。

通話DCOMCNFG.EXEと設定を確認してください(申し訳ありませんが、唯一のドイツのサーバーが、動作するはずです): enter image description here

あなたが設定を変更した後、あなたのIISをリセットする必要があります。

関連する問題