[Upgrade v9 to v11] Could not load type 'EPiServer.Web.Routing.UrlResolver' from assembly 'EPiServer, Version=11.14.2.0

Vote:
 

Hi, I've been trying to upgrade EPiServer CMS system from 9.* to 11 on an ASP.NET MVC site for a couple of days with seemingly neverending issues like the following:

I've tried adding the following to system.webServer / modules in Web.config without any difference.

<add name="UrlResolver" type="EPiServer.Web.Routing.UrlResolver, EPiServer.Cms.AspNet" preCondition="managedHandler" />

The libraries and their versions in the web project are as follows:

  <package id="Antlr" version="3.5.0.2" targetFramework="net461" />
  <package id="AutoMapper" version="4.2.1" targetFramework="net461" />
  <package id="Castle.Core" version="4.2.1" targetFramework="net461" />
  <package id="Castle.Windsor" version="4.1.0" targetFramework="net461" />
  <package id="DotNetZip" version="1.9.8" targetFramework="net461" />
  <package id="elmah.corelibrary" version="1.2.2" targetFramework="net461" />
  <package id="Elmah.Mvc" version="2.1.2" targetFramework="net461" />
  <package id="EntityFramework" version="6.1.3" targetFramework="net461" />
  <package id="EPiServer.Azure" version="9.4.0" targetFramework="net461" />
  <package id="EPiServer.CMS" version="11.14.2" targetFramework="net461" />
  <package id="EPiServer.CMS.AspNet" version="11.14.2" targetFramework="net461" />
  <package id="EPiServer.CMS.Core" version="11.14.2" targetFramework="net461" />
  <package id="EPiServer.CMS.TinyMce" version="1.0.0" targetFramework="net461" />
  <package id="EPiServer.CMS.UI" version="11.23.8" targetFramework="net461" />
  <package id="EPiServer.CMS.UI.Core" version="11.23.8" targetFramework="net461" />
  <package id="EPiServer.Framework" version="11.14.2" targetFramework="net461" />
  <package id="EPiServer.Framework.AspNet" version="11.14.2" targetFramework="net461" />
  <package id="EPiServer.Logging.Log4Net" version="2.2.0" targetFramework="net461" />
  <package id="EPiServer.Packaging" version="3.4.0" targetFramework="net461" />
  <package id="EPiServer.Packaging.UI" version="3.3.0" targetFramework="net461" />
  <package id="EPiServer.ServiceLocation.StructureMap" version="1.0.0" targetFramework="net461" />
  <package id="EPiServer.XForms" version="1.0.3" targetFramework="net461" />
  <package id="Geta.Tags" version="4.0.12" targetFramework="net461" />
  <package id="ImageResizer" version="4.0.5" targetFramework="net461" />
  <package id="ImageResizer.Mvc" version="4.0.5" targetFramework="net461" />
  <package id="ImageResizer.MvcWebConfig" version="4.0.5" targetFramework="net461" />
  <package id="ImageResizer.Plugins.DiskCache" version="4.0.5" targetFramework="net461" />
  <package id="ImageResizer.Plugins.EPiServerBlobReader" version="4.0.2" targetFramework="net461" />
  <package id="ImageResizer.WebConfig" version="4.0.5" targetFramework="net461" />
  <package id="log4net" version="2.0.8" targetFramework="net461" />
  <package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net461" />
  <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.Providers.Core" version="2.0.0" targetFramework="net461" />
  <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net461" />
  <package id="Microsoft.Azure.KeyVault.Core" version="1.0.0" targetFramework="net461" />
  <package id="Microsoft.Data.Edm" version="5.8.2" targetFramework="net461" />
  <package id="Microsoft.Data.OData" version="5.8.2" targetFramework="net461" />
  <package id="Microsoft.Data.Services.Client" version="5.8.2" targetFramework="net461" />
  <package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.0" targetFramework="net461" />
  <package id="Microsoft.Owin" version="3.0.1" targetFramework="net461" />
  <package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net461" />
  <package id="Microsoft.Tpl.Dataflow" version="4.5.24" targetFramework="net461" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
  <package id="Microsoft.Web.Xdt" version="2.1.1" targetFramework="net461" />
  <package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net461" />
  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net461" />
  <package id="NSass.Core" version="0.0.3.0" targetFramework="net461" />
  <package id="NSass.Handler" version="0.0.3.0" targetFramework="net461" />
  <package id="NSass.Optimization" version="0.0.1.0" targetFramework="net461" />
  <package id="NuGet.Core" version="2.5.0" targetFramework="net461" />
  <package id="OctoPack" version="3.0.53" targetFramework="net461" developmentDependency="true" />
  <package id="Owin" version="1.0" targetFramework="net461" />
  <package id="PagedList" version="1.17.0.0" targetFramework="net461" />
  <package id="PagedList.Mvc" version="4.5.0.0" targetFramework="net461" />
  <package id="Pta.Build.WebEssentialsBundleTask" version="1.0.2" targetFramework="net461" />
  <package id="Sendgrid" version="6.3.4" targetFramework="net461" />
  <package id="SendGrid.SmtpApi" version="1.3.1" targetFramework="net461" />
  <package id="structuremap" version="3.1.6.186" targetFramework="net461" />
  <package id="structuremap.web-signed" version="3.1.6.191" targetFramework="net461" />
  <package id="structuremap-signed" version="3.1.9.463" targetFramework="net461" />
  <package id="System.ComponentModel.Annotations" version="4.4.0" targetFramework="net461" />
  <package id="System.ComponentModel.EventBasedAsync" version="4.0.11" targetFramework="net461" />
  <package id="System.Data.SqlClient" version="4.4.0" targetFramework="net461" />
  <package id="System.Dynamic.Runtime" version="4.0.0" targetFramework="net461" />
  <package id="System.IdentityModel.Tokens.Jwt" version="4.0.0" targetFramework="net461" />
  <package id="System.Linq.Queryable" version="4.0.0" targetFramework="net461" />
  <package id="System.Net.Requests" version="4.0.11" targetFramework="net461" />
  <package id="System.Reflection.Emit" version="4.3.0" targetFramework="net461" />
  <package id="System.Security.AccessControl" version="4.4.0" targetFramework="net461" />
  <package id="System.Security.Cryptography.Xml" version="4.4.2" targetFramework="net461" />
  <package id="System.Security.Permissions" version="4.4.0" targetFramework="net461" />
  <package id="System.Security.Principal.Windows" version="4.4.0" targetFramework="net461" />
  <package id="System.Spatial" version="5.8.2" targetFramework="net461" />
  <package id="System.Threading.AccessControl" version="4.4.0" targetFramework="net461" />
  <package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
  <package id="WebGrease" version="1.6.0" targetFramework="net461" />
  <package id="WindowsAzure.ServiceBus" version="4.1.3" targetFramework="net461" />
  <package id="WindowsAzure.Storage" version="8.5.0" targetFramework="net461" />

The web.config also has binding redirects as follows:

      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Framework" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Cms.Shell.UI" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-11.23.8.0" newVersion="11.23.8.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Configuration" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-9.7.1.0" newVersion="9.7.1.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Shell" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-11.23.8.0" newVersion="11.23.8.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.data" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Enterprise" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.UI" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-11.23.8.0" newVersion="11.23.8.0" />
      </dependentAssembly>
       <dependentAssembly>
        <assemblyIdentity name="EPiServer.Cms.AspNet" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.XForms" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.0.3.0" newVersion="1.0.3.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.XForms" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.0.3.0" newVersion="1.0.3.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Framework.AspNet" publicKeyToken="8fe83dea738b45b7" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Events" publicKeyToken="8fe83dea738b45b7" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Web.WebControls" publicKeyToken="8fe83dea738b45b7" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.ImageLibrary" publicKeyToken="8fe83dea738b45b7" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.ApplicationModules" publicKeyToken="8fe83dea738b45b7" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Licensing" publicKeyToken="8fe83dea738b45b7" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="StructureMap" publicKeyToken="e60ad81abae3c223" />
        <bindingRedirect oldVersion="0.0.0.0-3.1.9.463" newVersion="3.1.9.463" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Configuration" publicKeyToken="8fe83dea738b45b7" />
        <bindingRedirect oldVersion="0.0.0.0-11.14.2.0" newVersion="11.14.2.0" />
      </dependentAssembly>

I can provide more configurations if requested but this post feels large enough already.

Regards, Niklas

#222739
May 12, 2020 8:49
Vote:
 

UrlResolver has been moved to EPiserver.Cms.AspNet assembly in CMS 11. I suspect that you need to upgrade your ImageResizer.Plugins.EPiServerBlobReader to latest version 

#222740
May 12, 2020 9:04
Vote:
 

Thank you, that solved that issue. I did not realize there was an EPiServer nuget package server, which contains that EPiServerBlobReader plugin, as I was not the initial developer of this project.

Now it looks like there's just code changes left for upgrading. It loaded the site but just crashing on some razor view code now.

Thanks again.

#222742
May 12, 2020 9:25
* 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.