FluentNHibernate RTM和NHibernate.Linq

时间:2009-10-16 13:42:21

标签: c# nhibernate fluent-nhibernate linq-to-nhibernate

我已经启动并运行了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'使用'NHibernate,Version = 2.1.0.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4',其版本高于引用的程序集'NHibernate,Version = 2.0.1.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4'

2)如果我将NHibernate dll更改为FluentNHibernate RTM提供的那个,那么当我尝试解析使用NHibernate.Linq的类中的程序集时,我的程序会中断。它还抱怨在同一个程序集的依赖版本之间发现了冲突。

如果NHibernate.Linq 1.0.0.0不能与Fluent NHibernate一起使用那么那很好,我会找到解决方法但是我很感兴趣,如果有人找到了让他们很好地一起玩的方法,为什么那里显然是NHibernate的两个不同版本,版本号相同。

谢谢,

2 个答案:

答案 0 :(得分:2)

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

  

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

2.1.0.4000 vs. 2.0.1.4000

答案 1 :(得分:1)

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

Here是可以为您效劳的样本(虽然没有尝试过)