Кроме того, я обнаружил, что эта простая реализация полезна в моем приложении WPF: удалите ограничение строк, и вы близки к общему случаю.
и следующую бесполезную программу:
class Program
{
static void Main(string[] args)
{
IUnityContainer unityContainer = new UnityContainer();
IWindsorContainer windsorContainer = new WindsorContainer();
Program unityProgram = unityContainer.Resolve<Program>();
Program castleProgram = windsorContainer.Resolve<Program>();
}
}
UnityContainer вернет мне экземпляр Program, где контейнер Windsor будет генерировать исключение ComponentNotFoundException.
Я вижу аргументы для обоих поведений и не возражаю против того, что я в итоге получаю, однако Prism V2 Drop 8 (последний на момент написания) опирается на внутреннее поведение Unity, запрашивая классы, которые не были зарегистрированы.
Вместо того, чтобы находить и регистрировать все эти классы для Prism, я бы предпочел просто заставить Виндзор вести себя как Unity. Я не нашел ничего в Google, чтобы помочь мне сделать это (хотя моя терминология может быть неправильной), и документация по Виндзору довольно плохая
Кто-нибудь может предложить решение этой проблемы?