Лето Nhibernate Сессия 01, почему я получаю NHibernate.Bytecode.ProxyFactoryFactoryNotConfiguredException?
Я совершенно новичок в NHibernate, следуя на screencast на www.summerofnhibernate.com, что является удивительным. К концу презентации предполагается пройти unit test, но для меня он говорит:
NHibernate.Bytecode.ProxyFactoryFactoryNotConfiguredException: The ProxyFactoryFactory was not configured.
Что я делаю неправильно?
Ответы
Ответ 1
Я уверен, вы используете NH 2.1, в то время как screencast использовал 2.0.
В 2.1 вы должны установить proxyfactory.factory_class в один из NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.LinFu.ProxyFactoryFactory или NHibernate.ByteCode.Spring.ProxyFactoryFactor
Ответ 2
Я спросил об этом, потому что мне потребовалось гораздо больше времени, чтобы найти ответ, чем хотелось бы. Если я приведу других новичков в заблуждение, пожалуйста, поправьте меня.
По-видимому, с момента создания screencast, NHibernate теперь требует указать ProxyFactoryFactory, который я еще не знаю, что это такое, и если вы ищете это, вы, вероятно, тоже этого не сделаете.
Добавьте это в свой hibernate.cfg.xml:
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
Также добавьте эти файлы в папку lib\NHibernate
NHibernate.ByteCode.Castle.dll
Castle.Core.dll
Castle.Core.xml
Castle.DynamicProxy2.dll
Castle.DynamicProxy2.xml
И добавьте ссылку на NHibernate.ByteCode.Castle.dll в проект DataAccessLayerTest
Я могу уйти, но через пару часов копания я могу перейти к следующему скринкасту, и я надеюсь, что ты тоже.
Ответ 3
Это был очень полезный ответ. Я загрузил последнюю версию NHibernate (2.1.1.GA) с выпуском Gallio MBUnit (3.1.0.0), но начал сталкиваться с проблемами, когда пришло время запуска тестов. Добавление четырех файлов, предложенных mlusby, а дополнительная строка в файле hibernate.cfg.xml решила мою проблему. Это было единственное рабочее решение, которое я нашел в Интернете. Благодарю!