NHibernate 2.1.0有什么问题?我总是出错!

NHibernate 2.1.0有什么问题?我总是出错!,nhibernate,proxyfactory,Nhibernate,Proxyfactory,我在这篇文章中读到,所有的ProxyFactory依赖项都是通过在本文中使用一个接口删除的。 因此,您需要指定在hibernate.cfg.xml文件中使用哪个实现。 我有以下配置: <?xml version="1.0" encoding="utf-8" ?> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> <session-factory> <prope

我在这篇文章中读到,所有的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.Connection.DriverConnectionProvider
NHibernate.Driver.SqlClientDriver
数据源=。\SQLEXPRESS;初始目录=MYDB;集成安全性=真
NHibernate.dialogue.mssql2005dialogue
NHibernate.ByteCode.Castle.proxyFactory,NHibernate.ByteCode.Castle
我添加了对
NHibernate.ByteCode.Castle.dll的引用。当我使用MBunit运行测试时,我得到一个错误,即我的部署文件夹应该包含
NHibernate.ByteCode.Castle.dll
NHibernate.ByteCode.LinFu.dll
。我想这是正确的配置,应该可以工作。但它不起作用。我花了很多时间在这件事上


附言:当我加载NHibernate时,NHibernate.ByteCode.Castle项目并没有建成。我将项目添加到解决方案中并构建了它。然后我引用了程序集。

不久前我遇到过同样的情况

当您说您添加了一个引用时,它是实际项目还是测试项目?它应该在两者之间。此外,请确保在引用的属性(F4)中将“复制本地”设置为true

另一种检查dll是否在应用程序运行的目录中的方法是在任何配置之前调用以下命令

Console.WriteLine(Directory.GetCurrentDirectory());
在我的情况下,我了解到当使用ReSharper执行测试时,它运行的位置与我预期的不同,并且不包含dll。做一个干净的解决方案和重建似乎纠正了这个问题

希望这能给你一些东西来检查