0

我看过

无法加载类型“NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle”

在部署后运行单元测试时,我也有相同的错误消息,但是我的应用程序运行良好。即使在开发过程中,我也没有任何此类错误。

怎么了?为什么在运行单元测试时出现此错误消息?

错误信息如下:

NHibernate.Bytecode.ProxyFactoryFactoryNotConfiguredException :未配置 ProxyFactoryFactory。使用可用的 NHibernate.ByteCode 提供程序之一初始化会话工厂配置部分的“proxyfactory.factory_class”属性。示例:NHibernate.ByteCode.LinFu.ProxyFactoryFactory、NHibernate.ByteCode.LinFu 示例:NHibernate.ByteCode.Castle.ProxyFactoryFactory、NHibernate.ByteCode.Castle ]]> - -

]]>

连接字符串是 web.config

> > <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.connection_string">Server=localhost\SQLServer2005;Database=testDev;</property>
>       <property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory,
> NHibernate.ByteCode.Castle</property>
>     </session-factory>   </hibernate-configuration>

dll是:

我有 NHIbernate 版本 2.1.1.4000,我有 NHibernate.ByteCode.Castle 版本 2.1.1.4000,Castle.Core 1.1.0,Castle.DynamicProxy2.dll 版本 2.1.1.0

4

1 回答 1

0

您使用的是哪个版本的 NHibernate?3.2 版预配置了代理工厂。如果您使用此版本,则不再需要 proxyfactory.factory_class 配置选项。

此外,如果您的测试失败但您的应用程序没有失败,那么测试可能无法访问正确的休眠配置文件。如果您正在以编程方式进行配置,请再次查看以验证是否设置了代理因子(如果使用 NH < 3.2)或未设置(如果使用 NH >= 3.2)...

于 2012-08-22T09:03:43.550 回答