2011-02-10 11 views
1

同じアセンブリ(Common.dll)が2つの異なるモジュール(Xaps)に含まれている状況があります。同じアセンブリでは、アセンブリは同じ名前空間とクラスを持ちますが、クラス/操作の実装は異なります。MEFを使用して同じアセンブリの異なるバージョンを読み込むことはできますか?

これらのモジュールは両方とも、単一のシェルアプリケーションに配置され、それぞれのxapはdownloadcatalogを介してダウンロードされます。両方のxapには、異なる実装を持つCommon.dllが含まれます。

別のCompositionContainerを使用しようとしました。別々のコンテナがモジュールとその依存関係を分離することを望んでいました。うまくいきませんでした。 でも驚いたことに、何をしたのですか?最初にダウンロードしたCommon.dllのインスタンスです。これは、一般的に同じアセンブリが最初のアセンブリを上書きし、最新のロードされたアセンブリを使用していることとは異なります。

compositioncontainerにはReleaseExportsがあります。これは私を助けるだろうか?

私が順番にインポートを満たしてからリリースすると、各モジュールは正しいCommon.dll操作のインスタンスを取得する必要があると私は考えています。

ありがとうございます!

答えて

1

あなたのアセンブリにstrong nameを付けてみましたか?これにより、依存関係は、コンパイルしたものとまったく同じアセンブリに解決されます。

関連する問題