0

Microsoft ActiveX Data Objects(MDAC 2.8)を参照するプロジェクトの1つに対してプライマリ相互運用機能アセンブリを生成しようとしています。Visual Studioの[参照]ダイアログボックスからこのライブラリを追加すると、Interop.ADOR.dllファイルがソリューションのbinディレクトリに追加されます。

ただし、tlbimp.exeを実行すると、次のエラーが発生します。

C:\Solution> tlbimp Component.dll /out: My.Interop.Component.dll /keyfile:myKeyFile
.snk /primary

Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.30729.1
Copyright (C) Microsoft Corporation.  All rights reserved.

TlbImp : error TI0000 : System.ApplicationException - Referenced type library 'A
DOR' does not have a primary interop assembly registered.

私はオンラインで何も見つけることができませんでした、それは奇妙です。何か案は?

4

1 に答える 1

0

tlbimp.exe の /primary 引数を削除するだけです。独自のコンポーネントの PIA を生成しても意味がありません。ADOR 型を使用するクラスのメンバーを public にすることは避けるのが最善です。コンポーネントのユーザーは、コンポーネントへの参照も持つ必要があり、同じ ADOR PIA を使用する必要があります。

本当にこれを行いたい場合は、最初に msador15.dll の PIA を生成して登録する必要があります。マイクロソフトが出荷していないことは確かです。また、それらを展開する必要があります。

于 2010-08-24T19:39:10.517 に答える