2

vb.net(2008 Express)プロジェクトに追加しようとしているサードパーティのCOMdllがあります。dllをC:\ WINDOWS \ system32 \に置き、「zippy32vxncom.dll」に登録しました。[プロジェクト]>[参照の追加]に移動して[COM]タブに移動すると、使用可能なコンポーネント/ライブラリのリストに表示されます。しかし、ライブラリを選択して[OK]をクリックすると、VisualStudioから「「vxncom4.0ライブラリ」への参照を追加できませんでした。ActiveXタイプライブラリ「C:\ WINDOWS \ system32\vxncom.dll」を登録できませんでした」というメッセージが表示されます。

私がこれを行っているプロジェクトは、dllを配布する人々によって提供された例です。新しい(空白の)vb.netプロジェクトを開始しても、コンポーネントを追加できません。

更新1:

問題のdllで依存関係ウォーカーを実行しました。エラーログに表示される内容は次のとおりです。

エラー:暗黙的に依存するモジュールにエクスポート機能がないため、少なくとも1つのモジュールに未解決のインポートがあります。

問題のモジュールはlibeay32.dllのようですが、C:\ WINDOWS\system32に既に存在します。

更新2:

私はopensslサイトにアクセスし、インストーラーをダウンロードして使用し、libeay32.dllを更新しました。vxncom.dllで依存関係ウォーカーを再度実行しましたが、エラーは発生しませんでした。Visual Studioに戻りましたが、それでも参照を追加したくありませんでした。以前とまったく同じエラー。

4

3 に答える 3

3

登録しようとしている DLL VB が、存在しない別の DLL に依存している可能性があります。http://www.dependencywalker.com/から無料の Dependency Walker ツールを使用して、これを確認 (または除外) できます。

更新への応答 1: システムにインストールされている libeay32.dll のバージョンと、コンポーネントが予期しているバージョンとの間に不一致があるようです。コンポーネントが存在しない機能を探しているということです。libeay32 のバージョン番号を確認してから、ベンダーに連絡して、サポートしているバージョンを尋ねます。

于 2008-09-24T18:35:32.290 に答える
0

それを修正していないか、代替手段に移行したと仮定します。jeffmの回答に続いて、libeay32.dllはオペレーティングシステムに正しく登録されていますか? 通常、再インストール/修復すると、そのタイプの問題が修正されます (MS Office と MapPoint では、COM オブジェクトが何らかの理由で時折自分自身を登録解除することがよくあります)。

于 2010-12-20T21:13:58.650 に答える
0

考えてみてください。IDE に頼るのではなく、tlbimp.exe を使用して独自の PIA を作成すると、より詳細なエラー メッセージが表示される場合があります。

于 2009-06-09T13:00:27.497 に答える