SimpleIoc.Default.Register завершается ошибкой в IsInDesignModeStatic, если интерфейс находится в другой сборке

В статическом конструктореViewModelLocator&nbsp;классSimpleIoc.Default.Register<T>();&nbsp;не удается вIsInDesignModeStatic&nbsp;режим, если интерфейс находится в другом проекте. В результатеMainWindow.xaml&nbsp;дизайнер пуст во время разработки.

Я сделал простое решение, чтобы проверить это. Только изменения, которые я сделал, это переместитьDataItem&nbsp;класс иIDataService&nbsp;интерфейс в проект домена.

Скачать здесь

Я нашел прогулку:&nbsp;Добавьте ссылку на IDataService.cs в проекте ClientWpf.

public class ViewModelLocator {
    static ViewModelLocator() {
        ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

        if (ViewModelBase.IsInDesignModeStatic) {

            // It fails if the IDataService is in different assembly
            // Delete the link of IDataService.cs from the ViewModel folder...
            SimpleIoc.Default.Register<IDataService, Design.DesignDataService>();
        }
        else {
            SimpleIoc.Default.Register<IDataService, DataService>();
        }

        SimpleIoc.Default.Register<MainViewModel>();
    }
...
}