Castle Windsor регистрирует интерфейсы и реализацию из 2 разных сборок и пространств имен - PullRequest
0 голосов
/ 06 июня 2018

У меня есть 2 библиотеки классов и 1 проект winform.

Проект библиотеки классов с пространством имен IViews содержит все объявленные интерфейсы.Проект библиотеки классов с пространством имен Views содержит всю реализацию этих интерфейсов, объявленных в IViews.

. Сейчас в проекте WinForm я пытаюсь настроить регистрацию Castle Windsor.Обратите внимание, что все эти 3 являются различными проектами, пространствами имен и сборками.

При регистрации я написал ниже код.

        WindsorContainer container = new WindsorContainer();

        container.Register(
            Classes.FromAssemblyContaining<IMainView>()
            .InSameNamespaceAs<frmMain>()
            .WithServiceDefaultInterfaces()
        );

И когда я пытаюсь получить объект для ILimitView по строке нижекод я получаю ошибку, как показано ниже.Интерфейс ILimitView реализован классом frmLimitView в том же проекте, сборке и пространстве имен, что и frmMain.

        container.Resolve<ILimitView>();

Исключение: «Castle.MicroKernel.ComponentNotFoundException» в Castle.Windsor.dll

Пока я регистрировал отдельные интерфейсы и реализации построчно, но было бы здорово, если бы я мог зарегистрировать их, используя сборку и пространство имен, которое содержит все интерфейсы и реализации.

Пожалуйста, не могли бы вы добавитьосветите здесь то, что идет не так в моем коде, или приведите пример того, как этого можно достичь?

...