1

C#プロジェクトでカスタムCOMコンポーネントを操作しています。

IDisposableでラップしています。

私が直面している問題は、プログラムを実行すると、ProcessExplorerにCSCCOMのDLLが表示されないことです。

4

3 に答える 3

1

COMサーバーDLLを読み込めなかった場合は、このコードから大きな騒ぎが発生します。CSCCOMWRAPコンストラクターは例外をスローします。サーバーDLL名を正しく推測していない可能性がありますが、見つけるのはそれほど簡単ではありません。DLL名を知るには、レジストリでInProcServer32レジストリキーの値を調べる必要があります。

IDisposableの実装は何も達成しないことに注意してください。

于 2010-09-08T10:49:16.613 に答える
0

自分のプロセスだけをチェックしましたか、それともCOM-DLLを検索しましたか?ProcessExplorerを使用すると、ファイルなどを検索できます。

DLLがプロセスに直接ロードされるのではなく、別のラッパープロセスまたはWindowsサービスにロードされる可能性があります。

于 2010-09-08T07:17:27.983 に答える
0

わかった。コードに問題がないことがわかりました。しかし、COM dllが表示されなかった理由は、ProcessExplorerで「下部ペインの表示」がオンになっていないためです。

ProcessExplorerで実行中のプロセスに関連するすべてのdllを表示する手順:

  1. ProcessExplorerで[表示]>[下部ペインを表示]がオンになっていることを確認します。
  2. [表示]>[下部ペインビュー]>[DLL]がオンになっていることを確認します。
  3. 上のペインからプロセスを選択して、下のペインに関連するすべてのDLLを表示します。

これが私のようなProcessExplorerに不慣れな人に役立つことを願っています!

于 2010-09-09T11:39:36.777 に答える