2010-05-16 2 views
0

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

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

Справочная информация: Я новичок в спящий режим, NHibernate и FluentNHibernate - но не .NET, C# и т.д.

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

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

компоненты, участвующие:

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

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

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

+2

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

ответ

2

Нет такой вещи, как «Переход от NHibernate к FluentNHibernate».

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

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

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

1

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

Истинный ответ должен был удалить и повторно добавить узлы, которые пришли с FluentNHibernate (включая совместимую версию NHibernate).

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

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

Спасибо!

+0

Проблема с этим подходом заключается в том, что вы эффективно используете устаревшую версию NHibernate, которая пропускает несколько исправлений, только ради использования Fluent. –

+0

Fluent NHibernate работает с последним выпуском GA NHibernate, на момент выпуска 1.0, который был 2.1.0 (я считаю). Филиал 'master' теперь работает на 2.1.2GA, и это то, что будет поставляться с нашей неминуемой версией 1.1. –

Смежные вопросы