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:
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"?> <module> <assemblies> <!-- This adds the Alloy template assembly to the "default module" --> <add assembly="EpiserverSite2018" /> </assemblies> <clientResources> <add name="epi-cms.widgets.base" path="/ClientResources/Styles/Styles.css" resourceType="Style"/> </clientResources> <dojo> <!-- Add a mapping from alloy to ~/ClientResources/Scripts to the dojo loader configuration --> <paths> <add name="alloy" path="/ClientResources/Scripts" /> </paths> </dojo> </module>