.NET プロジェクトにインストールしました。
- MvvmLight v5.4.1.1
- Castle.Windsor v5.0.0
- CommonServiceLocator v2.0.2
- CommonServiceLocator.WindsorAdapter.Unofficial v3.3.0
次に、このようにコンテナを初期化します
public ViewModelLocator()
{
var container = new WindsorContainer();
ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container));
container.Register(Component.For<MainViewModel>().ImplementedBy<MainViewModel>());
}
このエラーが発生します:
タイプ 'ServiceLocatorImplBase' は、参照されていないアセンブリで定義されています。アセンブリ 'Microsoft.Practices.ServiceLocation, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' への参照を追加する必要があります。
基本的に、MvvmLight v5.4.1.1 は CommonServiceLocator v2.0.2 を想定しており、CommonServiceLocator.WindsorAdapter.Unofficial は CommonServiceLocator v1.3.0 を想定しており、CommonServiceLocator.WindsorAdapter は CommonServiceLocator v1.0.0 を想定しています。
1 つの解決策は、CommonServiceLocator を v1.3.0 にダウングレードすることです。これは機能しますが、MvvmLight も v5.3.0 にダウングレードされます。
これを行う正しい方法は何ですか?MvvmLight と Windsor Castle を連携させるにはどうすればよいですか?