1

次の問題が発生しています。誰か助けてもらえますか? Tlbimp ユーティリティを使用して、VB6 COM DLL を RCW DLL に変換しました。Visual Studio 2008 から、「参照の追加」を使用し、その DLL を c# クラスで使用しました。私のマシンではすべて正常に動作します。しかし、他の誰かが自分のマシンで同じプロジェクトを使用すると、そのマシンで次のエラーが発生します。そのマシンでその CLSID GUID を検索しようとしましたが、HKCR/CLSID の場所で見つかりませんでした。

別のマシンで問題が発生する理由と、この問題を解決するために何ができるかについて、誰かが手がかり/アイデアを持っていますか?

ありがとう。

4

2 に答える 2

4

他のマシンに COM オブジェクトをインストールする必要がありますか? 返されるエラーは、クラスが登録されていないことを意味します。tlbimp は、COM インターフェイスを .NET にマップするためのラッパー アセンブリを作成するだけで、COM オブジェクト自体を変換せず、それを一緒に運びません。

VB6 COM オブジェクト DLL (または .OCX) を他のマシンに配置し、regsvr32 object.ocx を実行すると、動作するはずです。

于 2009-11-24T21:45:21.260 に答える
0

COM オブジェクトを登録するという考えが気に入らない場合は、登録不要の COM をご覧ください。

http://msdn.microsoft.com/en-us/library/ms973913.aspx

于 2009-11-27T08:48:48.450 に答える