2016-05-23 5 views
0

私のアプリはサードパーティのアンマネージドアプリにC#プラグインされています。私は、管理されていないDLLの1つに依存するコントロール(AxInterop)の1つを持つWindowsフォームを持っています。同じコントロールの2015バージョンは異なるタイプライブラリファイル(たとえばabc.tlbは123.tlb)に依存しますが、どちらも同じインターフェイスをサポートしています。Cで第三者アンマネージドコントロールの正しいバージョンを動的にロードする方法#

個別のビルドを作成したくありません。

以前のバージョンでABC.tlbを使用し、2015バージョンで123.tlbを使用するようにコードを取得するにはどうすればよいですか?

起動時にアセンブリのようなtlbファイルをロードできますか?

ありがとう

+1

それは意味をなさないです。 .tlbファイルは、コンパイル時に使用される型ライブラリです。したがって、新しいタイプライブラリ参照でアプリケーションを再コンパイルする必要があります。 –

+0

私はダイナミクスを使用してリフレクションしていますので、このコントロールで使用されているものと同じdllを参照する必要はありません。ここでの違いは、私はdllを参照しているコントロールを使用していると私は2015年の新しいDLLを見つけるためにそれを得る方法を探しています。だから私はロードする必要がある別のtlbを読み込む必要があると思うその新しいdllを起動します。それは理にかなっていますか? – Perry

答えて

0

ok、結局のところダイナミクスを使用して解決しました。 AxInteropコントロールは赤いニシンだった。コントロールには、2015年に変更されたタイプのプロパティがあります。私は、第三者のワークスペースオブジェクトからプロパティを取得し、プロパティをその値に設定するためにダイナミクスを使用しました。私のプロジェクトにはABCまたは123への参照がありません。

関連する問題