Upgraded several packages for Episerver 11


Upgraded several packages for Episerver 11

Upgraded several packages for Episerver 11


Episerver 11 came with several breaking changes. Together with upgrades of Core packages, of course, Episerver and other add-ons needed to be upgraded.

To begin with, Episerver no longer supports .NET framework versions lower than 4.6.1, so that was the first step. Given that most of the add-ons were not framework dependant, it was an easy change.

Here are my add-ons upgraded:

All of them are submitted to nuget, but it will be a few days until they are released. Until then, nuget files are under release tabs on github.

I've also sent a pull request to Ben for AddOn.ReloadChildren.

Two issues I had upgrading

An error with the Forms add-on. After I installed it on AlloyTech, I got the following error in edit mode: [ArgumentException: Unable to find a module by assembly 'EPiServer.Forms, Version=...., Culture=neutral, PublicKeyToken=8fe83dea738b45b7', Parameter name: moduleAssembly]. I was lucky enough to get the solution as a first Google result on an ever useful Episerver world. After I installed Episerver.Packaging on Alloy, everything worked as expected.

UPDATE: Read through Ben's blogpost answer reply here. There is NO NEED to install Episerver.Packaging nor to create absolute paths (mentioned below). So, everything works after either:

  • Adding autoDiscovery="Modules" to the protectedModules element under episerver.shell in the web.config, or
  • Adding each protected module that should be loaded as a child to the protectedModules element (this is the default setup)

In the next version, I'll add web.config transforms for the module as soon as I find time.

The other error was related to any of the other add-ons that were dependent on module initialization. For some reason, the same module.config combination in Alloy and the add-ons stopped working. It drove me crazy until I disabled the StringList temporarily. Then, all of them worked, but I needed them to work side-by-side with StringList. For now, it is enough to add an absolute path for scripts in Alloy, but I will update this blogpost when I figure out a better way.

<?xml version="1.0" encoding="utf-8"?>
    <!-- This adds the Alloy template assembly to the "default module" -->
    <add assembly="EpiserverSite2018" />
    <add name="epi-cms.widgets.base" path="/ClientResources/Styles/Styles.css" resourceType="Style"/>
    <!-- Add a mapping from alloy to ~/ClientResources/Scripts to the dojo loader configuration -->
      <add name="alloy" path="/ClientResources/Scripts" />