FluentNHibernate RTM and NHibernate.Linq

I had a system that was using the Fluent NHibernate v0.0.1.0 preview along with NHibernate 2.1.0.4000 and NHibernate.Linq 1.0.0.0.

I just put in new DLLs Fluent NHibernate RTM and fixed my code to break the changes, but I am getting a couple of problems depending on how I am trying to implement.

1) If I don't change the NHibernate DLL to the one that comes with FluentNHibernate, then I get an error stating that Fluent NHibernate is targeting a different version of NHibernate, even though both have the same version number.

The exception message looks like this: "Assembly" FluentNHibernate, Version = 1.0.0.593, Culture = neutral, PublicKeyToken = 8aa435e3cb308880 'uses' NHibernate, Version = 2.1.0.4000, Culture = neutral, PublicKeyToken = aa95f207798dfdb4' which is a higher version than the assembly reference 'NHibernate, Version = 2.0.1.4000, Culture = neutral, PublicKeyToken = aa95f207798dfdb4'

2) If I change the NHibernate dll to the one that comes with RTM FluentNHibernate, then my program breaks when trying to resolve assemblies in a class that uses NHibernate.Linq. It also complains about conflicts found between dependent versions of the same assembly.

If NHibernate.Linq 1.0.0.0 cannot be used with Fluent NHibernate then that's fine and I'll find a way around it, but I'm wondering if anyone has found a way for them to play well together and why they seem to be two different versions of NHibernate with the same version number.

Thank,

+2


source to share


2 answers


Your version numbers are not the same under this exception.

... "FluentNHibernate" uses "NHibernate, Version = 2.1.0.4000 ... which is a higher version than the assembly reference" NHibernate, Version = 2.0.1.4000 > ...



2.1.0.4000 vs 2.0.1.4000

+2


source


You can try to use assembly binding redirection for this, as described here .



Here is a sample that might work for you (haven't tried it yet)

+1


source







All Articles