誰かが私を正しい方向に向けてくれることを願っていました。問題を明確にするために、いくつかの手順で問題をリストしました。
- regsvr32を使用して C++ DLL を COM に登録します。
- 次に、C++ DLL の/primary属性を指定してtlbimpを使用して、C# で使用できるアセンブリ ファイルを作成します。
- 次に、新しく生成されたアセンブリを GAC に登録します。
- C++ タイプ ライブラリに GACed アセンブリへの参照が含まれるように、生成されたアセンブリで regasm を呼び出します。
問題は、regasm /uを使用すると、「正常に登録解除されました」と表示されることです。しかし、OLEVIEW を使用して COM で typelib をチェックすると、GACed アセンブリへの PrimaryInterop 参照がまだ表示されます。
regasm /u /tlb も使用してみましたが、次のような警告が表示されます。
RegAsm : warning RA0000 : Type library not un-registered since the assembly was
imported from COM
これは私を夢中にさせているので、助けてくれてありがとう;)