Я установил в свой проект .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, версия = 1.3.0.0,
Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 '.
По сути, MvvmLight v5.4.1.1 ожидает CommonServiceLocator v2.0.2, CommonServiceLocator.WindsorAdapter.Unofficial ожидает CommonServiceLocator v1.3.0, а CommonServiceLocator.WindsorAdapter ожидает CommonServiceLocator v1.0.0
Одним из решений является понижение CommonServiceLocator до v1.3.0, и оно работает, но затем MvvmLight также понижается до v5.3.0
Какой правильный способ сделать это? Как мне заставить MvvmLight и Windsor Castle работать вместе?