У меня есть 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
Пока я регистрировал отдельные интерфейсы и реализации построчно, но было бы здорово, если бы я мог зарегистрировать их, используя сборку и пространство имен, которое содержит все интерфейсы и реализации.
Пожалуйста, не могли бы вы добавитьосветите здесь то, что идет не так в моем коде, или приведите пример того, как этого можно достичь?