2

我已经启动并运行了一个使用 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。

谢谢,

4

2 回答 2

2

根据该例外,您的版本号不同。

... 'FluentNHibernate' 使用 'NHibernate, Version= 2.1.0.4000 ... 它的版本高于引用的程序集 'NHibernate, Version= 2.0.1.4000 ...

2.1.0.4000 与 2.0.1.4000

于 2009-10-22T09:15:15.127 回答
1

您可以尝试对此使用程序集绑定重定向,如此所述。

是可以为您工作的示例(虽然没有尝试过)

于 2009-10-16T13:44:48.720 回答