Переход от NHibernate к FluentNHibernate: ошибка сборки (связана с версиями)? - PullRequest
0 голосов
/ 16 мая 2010

Не знаю, с чего начать, но я получил самую последнюю версию NHibernate, успешно сопоставил самые простые бизнес-объекты и т. Д. При попытке перейти к FluentNHibernate и сделать то же самое, я получил это сообщение об ошибке при сборке :

"System.IO.FileLoadException: может не загружать файл или сборку 'NHibernate, Версия = 2.1.0.4000, Культура = нейтральная, PublicKeyToken = aa95f207798dfdb4 'или одна из его зависимостей. Расположенный определение манифеста сборки делает не соответствует ссылке на сборку. "

Справочная информация. Я новичок в Hibernate, NHibernate и FluentNHibernate, но не в .NET, C # и т. Д.

База данных У меня есть таблица базы данных под названием Категория:

(PK) CategoryID (тип: int), уникальный, автоинкрементный UserID (тип: uniqueidentifier) ​​- учитывая значение Guid пользователя в базе данных ASP.NET Заголовок (тип: varchar (50) - заголовок категории

Вовлеченные компоненты:

  • У меня есть SessionProviderClass, который создает сопоставление с базой данных
  • У меня есть класс Category, в котором есть все виртуальные методы для FluentNHibernate для переопределения
  • У меня есть класс CategoryMap: ClassMap, который выполняет плавные отображения для сущности
  • У меня есть класс CategoryRepository, который содержит метод для добавления и сохранения категории
  • У меня есть файл TestCatAdd.aspx, который использует класс CategoryRepository.

Был бы рад опубликовать код для любого из них, но я не уверен, что это необходимо, поскольку я думаю, что проблема заключается в том, что где-то существует конфликт версий между ссылками FluentNHibernate и NHibernate, с которого я установил ранее.

Заранее благодарим за любую помощь, которую вы можете оказать!

Ответы [ 2 ]

2 голосов
/ 16 мая 2010

Не существует такого понятия, как «Переход с NHibernate на FluentNHibernate».

FluentNHibernate - это просто дополнение для NHibernate, предоставляющее несколько иной способ создания отображений.

Сообщение об ошибке ясно: вы используете версию FluentNHibernate, скомпилированную для NHibernate 2.1.0, и вы пытались использовать ее с NHibernate 2.1.2, поэтому конфликт версий.

Либо загрузите версию Fluent, использующую NH 2.1.2, либо скомпилируйте из исходного кода.

1 голос
/ 16 мая 2010

Спасибо всем,

Верным ответом было удаление и повторное добавление сборок, поставляемых с FluentNHibernate (включая совместимую версию NHibernate).

Я также должен был не забыть добавить правильные ссылки (например, при использовании NHibernate я не добавил ссылки на Castle.dll и т. Д.)

Однако это выявило больше проблем, о которых я расскажу в отдельной ветке.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...