Я создаю приложение, используя NHibernate. Потому что я не мог добавить DLL моей текущей версии NHibernate (я не могу добавить ссылку, когда framework 4.0 является target).
Я пытался заполучить последнюю и самую лучшую в мире, вот что у меня сейчас:
- NHibernate.dll (3.2.0.4000)
- NHibernate.ByteCode.Castle (3.0.0.4000)
- FluentNHibernate.dll (1.2.0.694)
- Castle.Core (2.5.2.0)
- Castle.Services.Logging.NLogIntegration (2.5.2.0)
- Antlr.Runtim (3.1.3.42154)
- Iesi.Collections (3.2.0.400)
С ними я могу ссылаться и строить свое решение. Я знаю, что есть некоторые проблемы с копированием / загрузкой dll.s, поэтому я сделал их элементами развертывания.
Но во время выполнения я (все еще) получаю следующее:
NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException: невозможно загрузить тип 'NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle' во время настройки класса фабрики прокси.
Возможные причины:
- Сборка поставщика NHibernate.Bytecode не была развернута.
- TypeName, использованное для инициализации свойства proxyfactory.factory_class в разделе фабрики сеансов, сформировано некорректно.
Решение:
Убедитесь, что папка развертывания содержит одну из следующих сборок:
NHibernate.ByteCode.LinFu.dll
NHibernate.ByteCode.Castle.dll ---> System.TypeLoadException: метод 'IsProxy' в типе 'NHibernate.ByteCode.Castle.ProxyFactoryFactory' из сборки 'NHibernate.ByteCode.Castle, версия = 3.0.0.4000, культура = нейтральная, PublicKeyToken = aa95f207798dfdb4 'не имеет реализации.
Кто-нибудь думает?
В ответ на ответ Виджая Гилла я решил пойти другим путем.
Пакеты NUGet, универсальный магазин и простые обновления!
Существует пакет FluentNHibernate. Я установил его, но я думаю, что здесь тоже что-то не так:
Тестовый метод CoreDatabaseTests.CreateCoreDatabase выдал исключение:
System.IO.FileLoadException: Не удалось загрузить файл или сборку 'NHibernate, Версия = 3.2.0.4000, Культура = нейтральная, PublicKeyToken = aa95f207798dfdb4' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) ---> System.IO.FileLoadException: не удалось загрузить файл или сборку 'NHibernate, версия = 3.1.0.4000, культура = нейтральная, PublicKeyToken = aa95f207798dfdb4' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку.