У меня есть отдельный проект, который я использую для обработки всех моих установщиков и инсталляторов Castle Windsor.Регистрация Castle Windsor с использованием функции FromAssembly требует наличия сторонних ссылочных библиотек, но не всех
В одном инсталляторе я пытаюсь зарегистрировать репозитории Конвенций с помощью:
Classes.FromAssemblyContaining(typeof(BaseRepository)).BasedOn(typeof(IRepository))
.WithServiceSelf()
Когда я использую любую форму FromAssembly в любом монтажнике в проекте я получаю исключение, когда программа установки выполняется, что он не может найдите определенную стороннюю DLL.
Однако если зарегистрировать компоненты по отдельности:
Component.For<IVendorRepository>().ImplementedBy<VendorRepository>()
Component.For<IContactRepository>().ImplementedBy<ContactRepository>()
Я не получаю ошибку и сконфигурированной контейнер возвращается, как и ожидалось.
Особенно неприятно то, что не все мои DLL-файлы третьей стороны требуются в папке bin при использовании FromAssembly, только для избранных.
Что происходит при использовании функции FromAssembly, которая вызывает определенные DLL-запросы, а остальные - как необязательные?
Есть ли способ зарегистрироваться по конвенции без использования функции FromAssembly?