私のプロジェクトでは、依存関係の階層に問題があります。コードでライブラリ ( WriteableBitmapExtensions ) を使用しており、WriteableBitmapExtensions も使用する別のサードパーティ ライブラリがあります。他のライブラリのみが特定の古いバージョンに強く関連付けられており、私のコードには最新バージョンの機能が必要です。
依存関係の描写は次のとおりです。
同様の質問と解決策がありますが、構成ファイルを介して実行時にアセンブリをバインドすることで解決しますが、これは Silverlight アプリケーションと互換性があるとは思いません。
同じソリューションで 2 つの異なるバージョンの log4net を参照する
サードパーティのライブラリは、さまざまなバージョンの log4net.dll を参照しています
では、Silverlight コンテキストでこれらの異なるバージョンのアセンブリ依存関係を解決する方法はありますか? ない場合、私のオプションは次のとおりです。
1) サードパーティのライブラリのベンダーに、WriteableBitmapExtensions の最新バージョンを使用するように更新するよう説得できる可能性が最も高いですが、最新の状態に保つことに依存したくありません。特に、WriteableBitmapExtensions プロジェクトはまだ更新されており、新しい機能を頻繁に利用しているためです。
2) WriteableBitmapExtensions はオープンソースであるため、そのソースを新しいアセンブリ "MyWriteableBitmapExtensions" として再コンパイルし、それをソース コードで使用できると思います。しかし、2 つのサードパーティ ライブラリが異なるバージョンの WriteableBitmapExtensions を参照している場合、この問題が再び発生します。
オプション 2 を使用すると思われますが、コミット/リファクタリングする前に、これを行うためのより良い方法 (他の質問のランタイム アセンブリ バインディングなど) があるかどうかを知りたいです。ありがとう!