2017-03-20 26 views
1

私のwebAPIプロジェクトでVB6 DLL(AB5COM.dll)を使用すると、この厄介な問題が発生します。 ローカルVS2015ですべて正常に動作しています。問題は、公開サイトを展開した後にリモートのIIS 7.5(Win2008 R2)でしか発生しません。 私はこのソリューションを2つのプロジェクトで使用しています。COMオブジェクトをキャストすることができません - エラー:そのようなインターフェイスはサポートされていません

、私はいくつかのことを試してみた -

  • 生成interop.AB5COM
  • 無効に埋め込むとx86へのローカル
  • プラットフォームの変更
  • アプリケーションプールが32ビット
  • [アセンブリサポートコピー:のComVisibleを(true)]
  • マイクラスの属性として[Guid( "xxxxxxx-xxxxx-xxxxxx-xxxxxx")]を追加する

すべて役に立たなかった。ローカルVS2015が動作し、リモートIIS7.5がこの例外で失敗します。

System.InvalidCastException: Unable to cast COM object of type 'System.__ComObject' to interface type 'AB5COM.trxAB5core'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{AF42661C-D369-454A-A005-55D51037166A}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)). 

COMのDLLが公開されていない、との相互運用を登録することができないので、私はまた、私はします。regsvr32を使用して登録する必要があるDLLを見つけることができません。

あなたの助けに感謝します。 [OK]を

Thxを

+0

誰でもこれを支援できますか? –

+0

「COM dllは公開されていません」とはどういう意味ですか? –

+0

私はプロジェクトを公開するとき、BINフォルダにはCOM dllもinterop.COM dllもないことを意味しました。 しかし、私は私のプロジェクトDLLは、COM DLLが存在する物理的な場所への参照を持っていると仮定します(これは私の前提です)。 –

答えて

0

は、この上ありません答え以来、私はいくつかの動きをしなければならなかった... リモートIIS環境は、私のテストサーバーですので、私は私の解決策とVS2017をインストールして、私のアプリを実行しました(成功)と出版(成功)。 現在のところ、このCOM DLLに問題はありません。このCOM DLLは、これが純粋なREGISTRYの問題であるという結論を導き出しています。 VS2015は正しいDLLを登録する方法を知っており、すべて正常に動作します。 これを自分のプロダクションでどのように動作させるかを理解する必要があります。

これは適切な解決策ではありませんが、私の個人的な投稿が誰にでも役立つことを願っています。

関連する問題