Привет. Я пытаюсь создать проект с использованием FluentNHibernate с подключением к базе данных MS Access. Я создаю dll JetDriver в https://nhcontrib.svn.sourceforge.net/svnroot/nhcontrib/trunk/src/NHibernate.JetDriver/, используя Visual Studio 2010 в 64-разрядной версии Windows 7. Я убедился, что проект скомпилирован для процессора x86, а затем скопировал сгенерированную dll в другой проект и сделал ссылку на него. Когда я запускаю проект, я получаю это исключение:
"Не удалось загрузить файл или сборку" NHibernate, версия = 1.0.4.0, Culture = нейтральный, PublicKeyToken = 154fdcb44c4484fc 'или одна из его зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) ":" NHibernate, версия = 1.0.4.0, культура = нейтральная, PublicKeyToken = 154fdcb44c4484fc "
В этом методе:
return Fluently.Configure() .Database( JetDriverConfiguration.Standard.ConnectionString( c => c.DatabaseFile(Settings.Default.SnelstartAdministrationName + ".mdb")) ) .Mappings(m => m.FluentMappings.AddFromAssemblyOf<OrderMap>()) .BuildSessionFactory();
Означает ли это, что JetDriver.dll ожидает версию 1.0.4.0 файла NHibernate.dll? Как мне убедиться, что он хочет NHibernate.dll, который включен в мой проект?
Как http://www.ohloh.net/p/NHibernateContrib связан с https://nhcontrib.svn.sourceforge.net/svnroot/nhcontrib/trunk/src/NHibernate.JetDriver/? Я не могу найти драйвер в http://www.ohloh.net/p/NHibernateContrib коде.
Перед сборкой NHibernate.JetDriver замените все файлы .dll NHibernate, поставляемые с источником, на файлы из используемой вами версии (3.1) и повторите попытку.
Я делал это раньше, но с версией 2.x. Я надеюсь, что это работает и для 3.1.
Какая версия nhibernate и беглый nhibernate вы используете? Я думаю, что вы используете другую версию Fluent Nhibernate для Nhibernate. Если вы используете Nhibernate 3.2, вы должны использовать Fluent Nhibernate версии 1.3.0.717, и вы можете скачать с по этой ссылке