1

COM DLL を C#.NET プログラムに組み込む際に問題が発生しています。DLL はサードパーティから提供されました。それはVB6で行われました。現在、これは私が受け取っているエラーです。

System.Runtime.InteropServices.COMException が処理されませんでした。HResult=-2147221164 Message=CLSID {46F5C9EE-D750-4740- AFBD-682F1E097776} のコンポーネントの COM クラス ファクトリを取得できませんでした: 80040154 クラスが登録されていません (HRESULT からの例外: 0x80040154 (REGDB_E_CLASSNOTREG))。

DLL ファイル内のクラスの 1 つから新しいオブジェクトを作成しようとすると、例外がスローされます。

DLL を regsvr32.exe に登録し、tlbimp.exe を使用して別の DLL を作成しようとしました (これは機能しましたが、大量の警告が表示されました)。プログラムをデバッグしようとするたびに、何らかの例外が発生します。

あきらめてVB6でこれを行うべきですか?本当にしたくない...

4

2 に答える 2

0

サードパーティの VB6 DLL が依存する DLL がありません。これは、別の VB6 DLL または別のサードパーティ リファレンス (または VB ランタイムなどの下位レベルの DLL) である可能性があります。

問題を解決する最善の方法は、依存関係として必要な DLL をサード パーティ プロバイダーに問い合わせることです。VB6 開発者として、彼らは簡単に質問に答えることができるはずですが、依存関係ウォーカーなどを実行する必要があり、間違った道に簡単に導くことができます。

于 2013-04-12T02:55:18.383 に答える
0

さて、私は問題を解決しました。COM DLL からアクセスできるサード パーティ製ソフトウェアを使用するには、USB ドングルをコンピューターに挿入する必要があります。そうしないと、試用モードでのみ実行されます。これにより、DLL 機能にアクセスできなくなりました。

于 2013-04-30T23:27:53.420 に答える