Ну
Поскольку я читаю и пробую каждую похожую тему безуспешно, я решил опубликовать свой вопрос.
Мое решение имеет консольное приложение и библиотеку классов для доступа к данным. Конфигурация Nhibernate находится внутри appconfig в консольном приложении (которое я сейчас использую для отладки, как я сделаю после создания веб-приложения и перенести всю конфигурацию в web.config).
Исключение хорошо известно:
NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException: Unable to load type NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle.dll' during configuration of proxy factory class. Possible causes are: - The NHibernate.Bytecode provider assembly was not deployed. - The typeName used to initialize the 'proxyfactory.factory_class' property of the session-factory section is not well formed. Solution: Confirm that your deployment folder contains one of the following assemblies: NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll ---> System.IO.FileNotFoundException: Could not load file or assembly 'NHibernate.ByteCode.Castle.dll' or one of its dependencies. The system cannot find the file specified.
Шаги, которые я предпринял, чтобы решить эту проблему:
1) DLL в папке развертывания - в моей корзине есть следующая DLL:
Antlr3.Runtime.dll - v. 3.1.3.42154
Castle.Core.dll - v. 2.5.1.2121
Castle.DynamicProxy2.dll - версия 2.2.0.6628
Iesi.Collections.dll - v.3.0.0.1002
log4net.dll - v. 1.2.10.0
NHibernate.ByteCode.Castle.dll - v.3.0.0.2001
NHibernate.dll - v.3.0.0.1002
Oracle.DataAccess.dll - v.4.112.1.2
Remotion.Data.Linq.dll - v.1.13.41.2
2) Конфигурация в блоке конфигурации
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
<property name="connection.connection_string_name">MetaManager</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle</property>
<mapping assembly="MetaManager.Data"/>
</session-factory>
3) Я настроил свой проект MetaManager.Data для развертывания в процессоре x86
4) Все библиотеки DLL в моей папке bin указаны в проекте.
Я думаю, что это оно. Я не знаю, куда еще идти: (
Педро Дуссо
обновления полужирный