我在这篇文章中读到,所有 ProxyFactory 依赖项都已通过使用这篇文章中的接口删除。因此,您需要在 hibernate.cfg.xml 文件中指定要使用的实现。我有这个配置:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=MYDB;Integrated Security=true</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
</session-factory>
</hibernate-configuration>
我添加了对NHibernate.ByteCode.Castle.dll
. 当我使用 MBunit 运行测试时,我收到我的部署文件夹应该包含NHibernate.ByteCode.Castle.dll
or的错误NHibernate.ByteCode.LinFu.dll
。我想这是正确的配置,它应该可以工作。但它不起作用。我在这背后花了很多时间。
PS:当我下载 NHibernate 时,NHibernate.ByteCode.Castle 项目没有建立。我将项目添加到解决方案中并构建它。然后我引用了程序集。