【发布时间】:2011-08-02 12:07:38
【问题描述】:
我正在使用 NHibernate 构建一个应用程序。因为我无法添加当前 NHibernate 版本的 DLL(当框架 4.0 为目标时,我无法添加引用)。
我试图获得最新最好的 w.w.w.,这就是我现在所拥有的:
- NHibernate.dll (3.2.0.4000)
- NHibernate.ByteCode.Castle (3.0.0.4000)
- FluentNHibernate.dll (1.2.0.694)
- Castle.Core (2.5.2.0)
- Castle.Services.Logging.NLogIntegration (2.5.2.0)
- Antlr.Runtim (3.1.3.42154)
- Iesi.Collections (3.2.0.400)
这些我可以参考和构建我的解决方案。我知道 dll.s 的复制/加载存在一些问题,所以我制作了它们的部署项。 但是运行时我(仍然)得到以下信息:
NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException:在代理工厂类的配置过程中无法加载类型“NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle”。 可能的原因有: - 未部署 NHibernate.Bytecode 提供程序程序集。 - 用于初始化 session-factory 部分的 'proxyfactory.factory_class' 属性的 typeName 格式不正确。
解决方案:
确认您的部署文件夹包含以下程序集之一:
NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll ---> System.TypeLoadException:来自程序集'NHibernate.ByteCode.Castle,版本= 3.0.0.4000,文化=中性,PublicKeyToken的'NHibernate.ByteCode.Castle.ProxyFactoryFactory'类型中的方法'IsProxy' =aa95f207798dfdb4' 没有实现。
有人想吗?
为了回应 Vijay Gill 的回答,我决定采取不同的策略。
NUGet 包、一站式商店和轻松更新!
那里有一个 FluentNHibernate 包。我已经安装了它,但我想这里也有问题:
测试方法CoreDatabaseTests.CreateCoreDatabase抛出异常:
System.IO.FileLoadException:无法加载文件或程序集“NHibernate,版本=3.2.0.4000,Culture=neutral,PublicKeyToken=aa95f207798dfdb4”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自 HRESULT 的异常:0x80131040)---> System.IO.FileLoadException:无法加载文件或程序集“NHibernate,版本=3.1.0.4000,文化=中性,PublicKeyToken=aa95f207798dfdb4”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。
【问题讨论】:
标签: nhibernate nuget castle