我已经启动并运行了一个系统,它使用了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 回答
根据该异常,您的版本号不同 .
2.1.0.4000 vs. 2.0.1.4000
您可以尝试使用程序集绑定重定向,如here所述 .
Here是可能适合您的样本(尽管没有尝试过)