0

zippy32を使用してコンピューターに登録した2つのocxファイルがあります。COMオブジェクトへの参照をプロジェクトに追加することにより、VisualStudioプロジェクトでそれらを使用します。

問題は、これらをSharePointプロジェクトに追加しようとしたときに、COMオブジェクトを呼び出そうとすると、次のエラーが発生することです。

「ファイルまたはアセンブリ'Interop.TsSDKActiveX、Version = 1.0.0.0、Culture = neutral、PublicKeyToken=60b2ad56e2b9ec22'またはその依存関係の1つを読み込めませんでした。システムは指定されたファイルを見つけることができません。」

どうすればこれを回避できますか?TsSDKActiveXはGACには存在しません(ただし、私のプログラムRiles(x86)には存在しないため、検出されないと思います。また、SharePointが64ビットDLLを好むという事実が問題であると思われます。

別のアプリケーションでコードを分離し、WCFサービスを介して呼び出しようとしましたが、このCOMコンポーネントの動作が原因で問題が発生しています。サービスを削除する必要があります。

続行する方法について何か提案はありますか?

4

1 に答える 1

0

COMを使用しても、32ビットDLLを64ビットプロセスにロードすることはできません。プロセスの境界を越えて通信するためにCOMに依存することもできますが、あなたの場合には当てはまらないと思います。WCFを使用した最初のアプローチは、最も自然なものだと思います。COMラッパーオブジェクトのインターフェイスをマネージコードでラップするシンWCFエンドポイントを公開し、標準のWCFクライアントAPIを使用してSharePointからオブジェクトと対話します。ここで、対話に状態が必要な場合は、SharePointプロセス内に、必要に応じてWCFを維持して呼び出すだけのビジネスオブジェクトを作成します。WCFを放棄した理由は何でしたか?

于 2012-06-21T18:38:22.813 に答える