我已经启动并运行了一个使用 Fluent NHibernate 预发布 v0.0.1.0 以及 NHibernate 2.1.0.4000 和 NHibernate.Linq 1.0.0.0 的系统。
我刚刚放入了新的 Fluent NHibernate RTM dll 并修复了我的代码以进行重大更改,但我遇到了几个问题,具体取决于我尝试实现的方式。
1) 如果我没有将 NHibernate dll 更改为 FluentNHibernate 提供的那个,那么我会收到一条错误消息,抱怨 Fluent NHibernate 以不同版本的 NHibernate 为目标,即使两者具有相同的版本号。
异常消息如下:'Assembly 'FluentNHibernate, Version=1.0.0.593, Culture=neutral, PublicKeyToken=8aa435e3cb308880' uses 'NHibernate, Version=2.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' 版本高于引用程序集“NHibernate,版本=2.0.1.4000,文化=中性,PublicKeyToken=aa95f207798dfdb4”
2) 如果我将 NHibernate dll 更改为 FluentNHibernate RTM 提供的那个,那么我的程序会在尝试解析使用 NHibernate.Linq 的类中的程序集时中断。它还抱怨在同一程序集的依赖版本之间发现的冲突。
如果 NHibernate.Linq 1.0.0.0 不能与 Fluent NHibernate 一起使用,那很好,我会找到解决方法,但我很感兴趣是否有人找到了一种让他们很好地一起玩的方法,以及为什么显然有两个具有相同版本号的不同版本的 NHibernate。
谢谢,