Error backend after upgrade to CM 9.9

Member since: 2007

HI!

I upgraded front end site from cms.core 9.6.1 to 9.7 and Commerce 9.8.1 to 9.9.

But the back end dll Mediachase.BusinessFoundation.Data and other dlls seems to be asking for Episerver.Framework version 9.6.1, is it not compatible?

[InitializationException: While loading .NET types from "Mediachase.ConsoleManager" the following error(s) was reported (limited to first 10 errors):

     - System.IO.FileLoadException: Could not load file or assembly 'EPiServer.Framework, Version=9.6.1.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'EPiServer.Framework, Version=9.6.1.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7'

=== Pre-bind state information ===
LOG: DisplayName = EPiServer.Framework, Version=9.6.1.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7
 (Fully-specified)
LOG: Appbase = file:///C:/commerce/Holmen.CommerceManager.Web/
LOG: Initial PrivatePath = C:\commerce\Holmen.CommerceManager.Web\bin
Calling assembly : Mediachase.BusinessFoundation.Data, Version=9.9.0.1430, Culture=neutral, PublicKeyToken=41d2e7a615ba286c.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\commerce\Holmen.CommerceManager.Web\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: EPiServer.Framework, Version=9.6.1.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/2fa4bb56/b3eb3d34/EPiServer.Framework.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/2fa4bb56/b3eb3d34/EPiServer.Framework/EPiServer.Framework.DLL.
LOG: Attempting download of new URL file:///C:/commerce/Holmen.CommerceManager.Web/bin/EPiServer.Framework.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Minor Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

===

Still problems with CM being compatible with all CMS dll versions?

I do have assembly bindings set to:

<dependentAssembly>
        <assemblyIdentity name="EPiServer.Framework" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-9.7.0.0" newVersion="9.7.0.0" />
      </dependentAssembly>
#145021 Feb 23, 2016 21:27
  • Member since: 2011

    Hi,

    Can you make sure StructureMap, StructureMap.Web And Newtonsoft.Json are all in bin and in correct versions (or set to correct versions in web.config)?

    Regards,

    /Q

    #145054 Feb 24, 2016 8:47
  • Member since: 2007

    nope, looks good.

    <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
            <assemblyIdentity name="StructureMap" publicKeyToken="e60ad81abae3c223" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-3.1.6.186" newVersion="3.1.6.186" />
          </dependentAssembly>
          <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
            <assemblyIdentity name="StructureMap.Web" publicKeyToken="e60ad81abae3c223" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
          </dependentAssembly>
          <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
            <assemblyIdentity name="StructureMap.Net4" publicKeyToken="e60ad81abae3c223" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-3.1.6.186" newVersion="3.1.6.186" />
          </dependentAssembly>
          <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
            <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-6.0.8.18111" newVersion="6.0.8.18111" />
          </dependentAssembly>

    I can see that the mediashase dlls are compiled with 9.6.1.

    Strange that the assembly redirects is not working on backend. Front end is working.

    Any idea?

    #145070 Feb 24, 2016 10:18
  • Member since: 2011

    I just tried myself and it works as expect. However I updated CMS.Core - which will update Framework itself.

    I think this can be removed:

          <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
            <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-6.0.8.18111" newVersion="6.0.8.18111" />
          </dependentAssembly>

    Newtonsoft.Json has weird assembly version which might have caused the problem.

    Regards,

    /Q

    #145097 Edited, Feb 24, 2016 16:29
  • Member since: 2007

    For information: I didnt find which of the dependentAssembly, but one of the dependentAssembly did cause this problem. What i did was that i copied the assemby bindings from the front end site to the back end web.config. That worked for me. So it is some kind important to not have any old dependentAssembly that is not needed.

    #152094 Aug 16, 2016 12:49