【问题标题】:NuGet: NHibernate, Castle.Core 3.0 and where is ProxyFactoryFactory?NuGet:NHibernate、Castle.Core 3.0 以及 ProxyFactoryFactory 在哪里?
【发布时间】:2012-12-04 14:48:02
【问题描述】:

我为一个新项目安装了 NuGet 包 NHibernate 和 Castle.Core 3.0。通常我们手动复制dll;这是我第一次使用 NuGet。

现在我找不到如何配置 ProxyFactoryFactory,或者说,我找不到它。我在项目中引用了 NHibernate 和 Castle.Core(我可以在 Castle.Core 包中找到的唯一 dll),并配置了以下内容:

<property name="proxyfactory.factory_class">
    NHibernate.ByteCode.Castle.ProxyFactoryFactory, 
    NHibernate.ByteCode.Castle
</property>

这导致:

Class Initialization method Tests.UnitTest1.MyClassInitialize threw exception.
NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException:
NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException: Unable
to load type 'NHibernate.ByteCode.Castle.ProxyFactoryFactory,
NHibernate.ByteCode.Castle' during configuration of proxy factory class.

显然这个 dll 丢失了,但我在哪里可以找到呢? NuGet 中有一个名为 Castle.DynamicProxy 的包,但它被标记为已过时。

p.s.:Castle.Core 3.0 - 包的描述中说:...包括DynamicProxy ...

【问题讨论】:

  • 您是否分别获得了 NHibernate 包 AND Castle.Core 包?
  • Jep,我分别安装了这些包。

标签: nhibernate nuget castle castle-dynamicproxy nuget-package


【解决方案1】:

NHibernate 的最新版本不需要配置代理工厂。

默认使用内部适配器,旧适配器不再是项目的一部分。

【讨论】:

  • 换句话说:我可以放弃有关 ProxyFactoryFactory 的配置吗?你从哪个 NHibernate 版本知道这是真的吗?
  • 没错。我不确定起始版本,但对于 3.2 来说就是这样。如果您从 nuget 安装,它将“正常工作”。
  • 我明白了 - 由于流畅的 nhibernate,我不得不降级到 3.1。可能这个版本还没有包含,只好参考ProxyFactoryFactory...
  • 降级不是个好主意。如果他们的最新版本是针对早期 NH 版本的,您始终可以重新编译 FNH(FNH 感到羞耻;它已经发布了 6 个月)或者您可以完全停止使用它并通过代码转移到新的 NH 映射。
  • 哦...我不知道 NH 通过代码映射!该死...另一方面,我真的很喜欢 FNH,它非常直观 - 无法想象现在通过代码映射 NH 会更好:)
猜你喜欢
  • 1970-01-01
  • 2013-01-29
  • 2016-09-24
  • 2017-06-14
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
  • 1970-01-01
  • 2014-10-27
相关资源
最近更新 更多