В чем проблема с NHibernate 2.1.0? Я всегда получаю ошибку!
В этом посте я читал, что вся зависимость ProxyFactory была удалена с помощью интерфейса в этом посте. Поэтому вам нужно указать, какую реализацию использовать в файле hibernate.cfg.xml. У меня есть эта конфигурация:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=MYDB;Integrated Security=true</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
</session-factory>
</hibernate-configuration>
Я добавил ссылку на NHibernate.ByteCode.Castle.dll
, Когда я запускаю тест с использованием MBunit, я получаю сообщение об ошибке, что моя папка развертывания должна содержать NHibernate.ByteCode.Castle.dll
или же NHibernate.ByteCode.LinFu.dll
, Я думаю, что это правильная конфигурация, и она должна работать. Но это не работает. Я провел много времени за этим.
PS: когда я загружал NHibernate, проект NHibernate.ByteCode.Castle не был построен. Я добавил проект в решение и построил его. Затем я сослался на сборку.
1 ответ
У меня была такая же ситуация не так давно.
Когда вы говорите, что добавили ссылку, это был реальный проект или тестовый проект? Это должно быть в обоих. Кроме того, убедитесь, что для параметра "Копировать локальный" задано значение true в свойствах (F4) ссылки.
Другой подход, который я использовал, чтобы проверить, что если dll находится в каталоге, из которого запущено приложение, был вызван следующий перед любой из Конфигурации.
Console.WriteLine(Directory.GetCurrentDirectory());
В моей ситуации я узнал, что при использовании ReSharper для выполнения тестов он работал в месте, отличном от того, которое я ожидал, и не содержал dll. Создание Чистого Решения и перестройка, казалось, исправили проблему.
Надеюсь, это даст вам пару вещей для проверки.