アプリケーションの 1 つを Castle Windsor 2.1 から 2.5 にアップグレードしようとしています。
Castle DLL をすべて削除し、Castle の Web サイトからダウンロードした 2.5 バージョンを追加しました。
Castle.Core.dll Castle.Windsor.dll
移行を行う前に、プロジェクトに関する次の参照もありました。
Castle.Components.DictionaryAdapter.dll
ただし、Krzysztof Koźmic の投稿(こちら) によると、DictionaryAdapter が Castle.Core.dll にバンドルされるようになったため、そのような参照は不要になりました。
それを削除すると、あちこちで次のようなエラーが発生します。
エラー 6 型または名前空間名 'DictionaryComponent' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
と
エラー 64 型または名前空間名 'DictionaryKey' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
と
エラー 27 型または名前空間名 'DictionaryKeyAttribute' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
CORE に上記の型が実装されていない可能性があるため、Castle.Components.DictionaryAdapter.dll への参照を追加することにしました。
それを行うと、すべてのエラーが取り除かれましたが、新しいエラーが発生しました。
エラー 8 タイプ 'Castle.Components.DictionaryAdapter.DictionaryAdapterFactory' は 'd:.NET\app\libs\Castle.Core.dll' と 'd:.Net\app\libs\Castle.Components.DictionaryAdapter.dll' の両方に存在します'
エラーは、次のメソッドの実装で発生します。
internal static ISettingService GetServiceFromAdapterFactory(NameValueCollection collection)
{
var adapter = new DictionaryAdapterFactory();
return adapter.GetAdapter<ISettingService>(collection);
}
2.1 から 2.5 にアップグレードするときにこのような問題に直面した人はいますか?アドバイスをいただけますか?
前もって感謝します。