A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Ben  McKernan
Jan 8, 2018
  2517
(0 votes)

Issue with modules not being found in CMS 11

Hello everyone! I want to quickly address the issues around add-on modules not being found after upgrading to CMS 11 before misinformation starts to spread. Marija mentioned some of these issues in her previous blog post http://mariajemaria.net/upgraded-several-packages-episerver-11 and there have been some questions on the forum.

The problem usually manifests itself as either an assembly not being found at runtime or a route not resolving correctly in the UI.

It is caused by the following, and I'm not sure if this is a breaking change but as far as I know it has not been documented (I will have the breaking changes document updated in any case). As part of the CMS 11 release the dependencies of the EPiServer.CMS nuget package were changed to no longer include EPiServer.Packaging.UI, you can compare the versions here:

http://nuget.episerver.com/en/OtherPages/Package/?packageId=EPiServer.CMS&packageVersion=11.1.0

http://nuget.episerver.com/en/OtherPages/Package/?packageId=EPiServer.CMS&packageVersion=10.10.4

For some reason, unknown to me, having EPiServer.Packaging installed changes the default behavior of the modules system to scan the protected modules folder and automatically load modules found there during startup. The default behavior without it installed is not to scan the protected modules folder. However this can be configured via the episerver.shell section of the web.config.

So there are a couple of easy options to fix this, either:

1. Add autoDiscovery="Modules" to the protectedModules element under episerver.shell in the web.config

<protectedModules rootPath="~/EPiServer/" autoDiscovery="Modules />

2. Or add each protected module that should be loaded as a child to the protectedModules element (this is the default setup)

<protectedModules rootPath="~/EPiServer/">
  <add name="Shell" />
  <add name="CMS" />
  <add name="EPiServer.Cms.TinyMce" />
</protectedModules>

Also as a side note, I recommend against installing EPiServer.Packaging. The recommended way of installing add-ons is via nuget.

Jan 08, 2018

Comments

Please login to comment.
Latest blogs
A day in the life of an Optimizely OMVP: Learning Optimizely Just Got Easier: Introducing the Optimizely Learning Centre

On the back of my last post about the Opti Graph Learning Centre, I am now happy to announce a revamped interactive learning platform that makes...

Graham Carr | Jan 31, 2026

Scheduled job for deleting content types and all related content

In my previous blog post which was about getting an overview of your sites content https://world.optimizely.com/blogs/Per-Nergard/Dates/2026/1/sche...

Per Nergård (MVP) | Jan 30, 2026

Working With Applications in Optimizely CMS 13

💡 Note:  The following content has been written based on Optimizely CMS 13 Preview 2 and may not accurately reflect the final release version. As...

Mark Stott | Jan 30, 2026

Experimentation at Speed Using Optimizely Opal and Web Experimentation

If you are working in experimentation, you will know that speed matters. The quicker you can go from idea to implementation, the faster you can...

Minesh Shah (Netcel) | Jan 30, 2026