【发布时间】:2010-09-12 15:07:53
【问题描述】:
我正在使用 NHibernate 3 alpha,但难以设置我的 SessionFactory。
我有以下几点:
var config = new Configuration().Configure();
_sessionFactory = config.BuildSessionFactory();
但是,在提供 3 alpha 下载的 dll 中,没有提供代理工厂类。即NHibernate.ByteCode.Castle、NHibernate.ByteCode.LinFu,以及nHib 2.x 提供的Spring 不在此提供。
所以在 3 alpha 包中,我查看了 NHibernate.Example.Web 并使用了它提供的 NHibernate.ByteCode.LinFu;此示例在其 config.hbm 中使用它。
所以,我的 hibernate.cfg.xml 有
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
第二行失败,上面的代码在创建工厂时失败
NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException 未被用户代码处理 消息=在代理工厂类的配置期间无法加载类型“NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu”。 可能的原因有: - 未部署 NHibernate.Bytecode 提供程序程序集。 - 用于初始化 >session-factory 部分的 'proxyfactory.factory_class' 属性的 typeName 格式不正确
但是,LinFu ref 设置为 CopyLocal,并深入研究堆栈跟踪,这给出了:
在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
在 System.ServiceModel.Dispatcher.MessageRpc.Process(布尔 isOperationContextSet) 内部异常:System.IO.FileLoadException
消息=无法加载文件或程序集“NHibernate,版本=3.0.0.1002,文化=中性,PublicKeyToken=null”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自 HRESULT 的异常:0x80131040) 源=mscorlib 文件名=NHibernate,版本=3.0.0.1002,文化=中性,PublicKeyToken=null FusionLog==== 预绑定状态信息===日志:DisplayName = NHibernate,版本=3.0.0.1002,文化=中性,PublicKeyToken=null (完全指定)
日志:Appbase = file:///C:/Dev/SilverTracker/src/SilverTracker/SilverTracker.Web.Services/
日志:初始 PrivatePath = >C:\Dev\SilverTracker\src\SilverTracker\SilverTracker.Web.Services\bin
调用程序集:NHibernate.ByteCode.LinFu,Version=3.0.0.1002,Culture=neutral,PublicKeyToken=null。
以及内部执行本身:
{"无法加载文件或程序集 'NHibernate, Version=3.0.0.1002, Culture=neutral, PublicKeyToken=null' 或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常: 0x80131040)":"NHibernate, 版本=3.0.0.1002, Culture=neutral, PublicKeyToken=null"}
据我所知,它找到了文件,但它与 nHib 3 程序集不兼容。
所以,我有点不知所措!
配置是否更改为 3?我正在努力寻找任何其他示例,除了 3 个程序集提供的示例。
这是一个 .NET 4.0 WCF 服务。我知道我可以只使用 2.x,但我正在尝试新的 linq 提供程序。
提前致谢。
【问题讨论】:
标签: c# nhibernate nhibernate-mapping