NHibernate的无法加载代理工厂(NHibernate unable to load Prox

2019-10-18 17:07发布

我很卡,试图得到一个简单的NHibernate应用程序的运行。 我在做“入门与NHibernate”一步一步来。 首先,我得到了一个无效属性错误的东西(设法解决这个问题)。

现在,我得到一个异常:

无法代理工厂类的配置期间加载类型“NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle”。

可能的原因是 : - NHibernate.Bytecode提供组件未部署。 - 用于初始化会话工厂部分的“proxyfactory.factory_class”属性类型名称没有很好地形成。

解决方案:请确认您的部署文件夹包含以下组件之一:NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll”

所提到的文件是在Bin文件夹,其中的QuickStart.dll是。 我不知道为什么会这样! 我在我的智慧在今天结束花费数小时试图得到这个工作。 在这个问题SO( 无法加载类型“NHibernate.ByteCode.LinFu.ProxyFactoryFactory,NHibernate.ByteCode.LinFu” )并没有帮助:(

从Web.config文件Hibernate的配置:

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
        <property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>
        <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
        <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
        <property name="connection.connection_string">Server=(local);initial catalog=quickstart;Integrated Security=SSPI</property>
        <property name="connection.isolation">ReadCommitted</property>
        <property name="default_schema">Monitor.dbo</property>
        <property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
        <!-- HBM Mapping Files -->
        <mapping assembly="QuickStart"/>
    </session-factory>
</hibernate-configuration>

Answer 1:

由于您的配置文件配置NHiberante使用城堡动态代理,你需要NHibernate.ByteCode.Castle.dll在你的bin文件夹,请确保你的应用程序,它复制到你的项目输出路径引用此DLL。

如果您的问题仍然存在,请启用融合日志,并检查其中的NHibernate正在查找DLL。



文章来源: NHibernate unable to load Proxy Factory