Castle.TypedFactory.DefaultInterfaceFactoryComponentSelector не может быть разрешен

Я следую примеру примером José F. Romaniello для управления сессиями с NHibernate. Это очень хорошая статья, однако я борюсь с ней, имея очень мало опыта работы с NHibernate, Windsor и MVC.

Я пытаюсь воссоздать NHibernateInstaller, но столкнувшись со следующей ошибкой: Component Castle.TypedFactory.DefaultInterfaceFactoryComponentSelector could not be resolved. Make sure you didn't misspell the name, and that component is registered.

В примере проекта при условии, что эта ошибка не возникает, хотя установщик идентичен, и Google не приносит никаких результатов (что очень необычно). Что вызывает это и как его можно избежать?

Ответ 1

кажется, проблема с TypedFactoryFacility... вы это делаете?

kernel.AddFacility<TypedFactoryFacility>();

перед запуском всех установщиков?

Ответ 2

раскомментируйте следующий код в файле Bootstrapper.cs.

container.AddFacility();

Ответ 3

Это случилось со мной, когда я создал собственную реализацию ITypedFactoryComponentSelector, , но забыл зарегистрировать сам селектор.

Не было никаких указаний на то, что это была настоящая проблема (и информация об отладке ядра заверила меня, что компоненты могут быть разрешены), но регистрация этого исправила проблему.

Надеюсь, это поможет кому-то: -)