我读过这篇文章,通过在这个post中使用接口删除了所有的ProxyFactory依赖项。 所以你需要指定在hibernate.cfg.xml文件中使用哪个实现。 我有这个配置:NHibernate 2.1.0有什么问题?我总是得到一个错误!
<?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>
我添加了一个refernce到NHibernate.ByteCode.Castle.dll
。当我使用MBunit运行测试时,出现部署文件夹应包含NHibernate.ByteCode.Castle.dll
或NHibernate.ByteCode.LinFu.dll
的错误。我想这是正确的配置,它应该工作。但它不起作用。我花了很多时间在这方面。
P.S:当我donwloaded NHibernate,NHibernate.ByteCode.Castle项目没有建立。我将该项目添加到解决方案并构建它。然后我引用了这个程序集。