Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Terry Clancy 185 posts 842 karma points
    Mar 06, 2017 @ 22:47
    Terry Clancy
    0

    DLL Hell Error with fresh install of uCommerce with Umbraco Courier

    Dear Courier Folk,

    ( Note that this has also been posted to http://eureka.ucommerce.net/#!/question/2149/DLL-Hell-Error-with-fresh-install-of-uCommerce-with-Umbraco-Courier#top )

    I am trying to complete an installation of Umbraco version 7.5.10 assembly: 1.0.6261.14290 with Umbraco Courier 3.0.5 and uCommerce 7.5.0.17040.

    It appears that uCommerce requires FluentNHibernate.dll 2.0.1.0 & NHibernate.dll 4.0.0.4000 and places both these files in the bin/ucommerce folder.

    It also appears that Umbraco Courier requires FluentNHibernate.dll 1.4.0.0 and NHibernate.dll 3.4.1.4000.

    This conflict results in errors such as

    ………. Could not load all types from "Umbraco.Courier.Persistence.V7.NHibernate, Version=1.3.50.17068, Culture=neutral, PublicKeyToken=null" due to LoaderExceptions, skipping:

    ………. . System.IO.FileLoadException: Could not load file or assembly 'FluentNHibernate, Version=1.4.0.0, Culture=neutral, PublicKeyToken=8aa435e3cb308880' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

    In attempting to fix this using the technique described at http://maffrigby.com/using-different-versions-of-the-same-dll-in-a-project/ I have placed a copy of FluentNHibernate.dll 1.4.0.0 both in /bin and in the folder \AppData\TTDLLStore\FluentNHibernate\1400 and a copy of NHibernate.dll 3.4.1.4000 both in /bin and in folder \AppData\TTDLLStore\NHibernate\3414000 and then set a VS Project “Reference” to each of these files referencing the locations in \AppData\TTDLL_Store.......

    However, as or immediately after, setting the References (before re-compiling or running) the following occurred which I do not understand:

    (1) After setting the Reference, If I look at the Reference Properties the “Path” for these two references is not to \AppData\TTDLL_Store....... as I would expect but they are as follows:

    a. For FluentNHibernate: D:\Clancy\ATeraTastic\Dev\TeraTastic12\TeraTastic\AppData\TEMP\uCommerceAppsAssemblyShadowCopy\CBD7D79B268E90FABDB51E1D723E73EA\FluentNHibernate.dll

    b. For NHibernate: D:\Clancy\ATeraTastic\Dev\TeraTastic12\TeraTastic\AppData\TEMP\uCommerceAppsAssemblyShadowCopy\1288316830C34B11D342F74AF567C561\NHibernate.dll

    (2) Both these DLLs in the bin folder is overwritten with the (newer) uCommerce versions

    I note that the Reference Path includes uCommerceAppsAssemblyShadowCopy.

    So my questions are

    (1) What is “uCommerceAppsAssemblyShadowCopy” and how does it work ?

    (2) Why does by older (Courier) version of these DLLs in /bin keep getting overwritten with the newer (uCommerce) versions ?

    (3) Any suggestions as to how to make these DLLs of different version numbers work side by side would be appreciated.

    Any help much appreciated.

    Thanks

    Terry Clancy

    ClanceZ

  • Søren Spelling Lund 1796 posts 2764 karma points
    Mar 08, 2017 @ 10:00
Please Sign in or register to post replies

Write your reply to:

Draft