1

を使用して相互運用機能アセンブリを生成してTlbImpいます。私のタイプライブラリのいくつかは、単一のコアタイプライブラリを参照しています。

私が敵対するとき、私はとTlbImpFirst.dll得る。問題は、に対してそれを再度実行すると、再度生成しようとし、エラーが発生することです。Interop.First.dllInterop.Core.dllSecond.dllTlbImpInterop.Core.dll

TlbImp : error TI0000 : System.ApplicationException - The assembly for referenced
type library, 'Core', will not be imported since it would overwrite existing file
'Core.dll'.

TlbImp参照されるアセンブリの相互運用機能を生成しないようにするにはどうすればよいですか?

4

1 に答える 1

2

/referenceパラメータを使用して、既存の相互運用機能アセンブリを明示的に識別する必要がありました。

もともと私はこれらのコマンドを実行していました:

> tlbimp Core.dll /out:Interop.Core.dll
> tlbimp First.dll /out:Interop.First.dll
> tlbimp Second.dll /out:Interop.Second.dll

TlbImp参照されたものをインポートし、2番目と3番目のコマンドでCore.dll相互運用機能を作成しようとすると、エラーが発生します。Core.dll

Coreこれを修正するには、相互運用機能を明示的に指定する必要があります。

> tlbimp Core.dll /out:Interop.Core.dll
> tlbimp First.dll /reference:Interop.Core.dll /out:Interop.First.dll
> tlbimp Second.dll /reference:Interop.Core.dll /out:Interop.Second.dll
于 2012-08-08T20:21:43.947 に答える