应用MS16-019 security update后,FluentNHibernate 1.1无法构建会话工厂 - 它只是挂在BuildSessionFactory调用上。
NHibernate在映射XML之前记录中断:
[1] INFO NHibernate.Cfg.Environment - NHibernate 2.1.2.4000 (2.1.2.4000)
[1] INFO NHibernate.Cfg.Environment - hibernate-configuration section not found in application configuration file
[1] INFO NHibernate.Cfg.Environment - Bytecode provider name : lcg
[1] INFO NHibernate.Cfg.Environment - Using reflection optimizer
所以它看起来像是挂在反射优化器部分(我试图禁用**)或者在读取/应用XML映射时。
** - ExposeConfiguration(x => x.SetProperty("use_reflection_optimizer", "false"))
在工作场景中(在应用MS16-019更新之前),“使用反射优化器”之后是:
[1] DEBUG NHibernate.Cfg.Configuration - Mapping XML:
<hibernate-mapping...</hibernate-mapping>
[1] INFO NHibernate.Dialect.Dialect - Using dialect: NHibernate.Dialect.MsSql2005Dialect
我的猜测是,在修复MS16-019之后映射xml变得无效,但我怎么能找出究竟是什么错误以及FluentNHibernate版本为此修复了什么?
答案 0 :(得分:0)
在我通过额外的日志记录在本地重新编译NHibernate库之后,我能够发现SelectNodes ClassExtractor.GetClassEntries中的{{3}}调用挂起。这个问题从NHibernate 3.3.x开始修复。