Try our conversational search powered by Generative AI!

NHibernate conflicts

Vote:
 

We are using NHibernate 3.3 in our project for custom data. But ever time we upgrade through NuGet we have to manually handle the changes around NHibernate and Iesi.Collections due to the fact that Epi *really* wants to use NHibernate 1.2. Both project references and runtime dependencies are broken. Even if we make a side-by-side runtime config, it is not guaranteed to be intact after the upgrade.

We just spent a very uninspiring 1.5 hours upgrading from release 29 to release 30 mostly thanks to this.

Does anybody know why Episerver uses NHibernate 1.2, and/or is there any plan to get rid of this dependency or upgrade it? It's either that or we have to find another OR mapper... :-/

#90317
Sep 05, 2014 13:49
Vote:
 

Really? Are we the only ones who use NHibernate together with Episerver? Come on out of the closet! =)

#90435
Sep 09, 2014 15:31
Vote:
 

I've located the problem to the package Episerver.CommonFramework.

When this package is added, binding redirects are overwritten with old versions of NHibernate and Iesi.Collections

Before:

      <dependentAssembly>
        <assemblyIdentity name="Iesi.Collections" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.4000" newVersion="4.0.0.4000" />
      </dependentAssembly>

After:

      <dependentAssembly>
        <assemblyIdentity name="Iesi.Collections" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.0.0.3" newVersion="1.0.0.3" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.2.0.4000" newVersion="1.2.0.4000" />
      </dependentAssembly>

Also, upon adding this package, it messes up the formatting of the binding redirects by adding them all on one line.

I should really report this as a bug :-/

Edit: Reported as #118396

#109660
Edited, Oct 12, 2014 23:50
Vote:
 

I see that this is in the CMS forum, but could it be that you are getting the CommonFramework reference from Commerce? In Commerce 8 we dropped the dependency to CommonFramework so unless you need CommonFramework you should be able to get rid of this problem.

#109664
Oct 13, 2014 8:54
Vote:
 

Indeed this is a Commerce project. Didn't know the dependency was dropped. After a couple of uninstall-package and some manual web.config editing we're free! No more Episerver.CommonFramework =) Thanks Magnus for the tip!

#109667
Oct 13, 2014 9:32
Vote:
 

Does this mean we kan kill all tblEpiserverCommon* tables in our CMS db? O_o

#109673
Oct 13, 2014 10:12
Vote:
 

Yes, there is a cleanup script included in the tools\remove_commonframework folder in the nuget package.

#109676
Oct 13, 2014 10:13
Vote:
 

Ah, I feel purified! =) Thanks a million, Magnus!

#109679
Oct 13, 2014 10:20
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.