Take the community feedback survey now.

Johan Björnfot
Dec 4, 2017
  5831
(7 votes)

EPiServer.ServiceLocation.StructureMap 2

We have now released version 2 of EPiServer.ServiceLocation.StructureMap. This version has a dependency against version 4.5.2 of the unsigned version of StructureMap. According to release notes in StructureMap documentation the newer version contains (among other things) performance improvments. 

There are some nuget issues that could be good to know about when updating EPiServer.ServiceLocation.StructureMap. Nuget will not remove references to the packages  structuremap-signed and structuremap.web-signed used by version 1 of EPiServer.ServiceLocation.StructureMap during update. So a recommendation after updating is to uninstall those packages. Also any existing binding redirects to the signed version of StructureMap assembly will remain in web.config.

An alternative to update package is to first uninstall package EPiServer.ServiceLocation.StructureMap, make sure to select option "Remove dependencies". If you have an dependency to package EPiServer.CMS you must also select option "Force uninstall". Then install version 2 of package EPiServer.ServiceLocation.StructureMap. Even in this case there might be old binding redirects left in web.config.

The package has been tested with CMS and we are currently testing it with other products such as Commerce and Find, to make sure it is compatible with other products as well.

Dec 04, 2017

Comments

Henrik Fransas
Henrik Fransas Dec 4, 2017 12:22 PM

Thanks for the info Johan!!

Johan Book
Johan Book Dec 12, 2017 09:09 AM

When is it safe to use this with Commerce?

Johan Book
Johan Book Jan 10, 2018 11:18 AM

Gotcha: If you uninstall the old structuremap packages after EPiServer.ServiceLocation.StructureMap you need to reinstall Structuremap 4.5.2 after that. So a recommendation is to uninstall the old structuremap packages before updating Episerver.

Per Jungnelius
Per Jungnelius Jan 30, 2018 11:28 AM

This is currently not compatible with ImageVault. ImageVault.Client 5.7.1 has a dependency via ImageVault.Common.Lib.StructureMap to the structuremap-signed package. So in order to run ImageVault.Client 5.7.1 you need to stay on EPiServer.ServiceLocation.StructureMap 1.

Johan Book
Johan Book Jan 3, 2020 11:35 PM

It seems someone didn't read these instructions before doing Foundation... Both structuremap.web-signed and structuremap-signed is still referenced in https://github.com/episerver/Foundation/blob/develop/src/Foundation/packages.config

Please login to comment.
Latest blogs
How to setup Entra ID (formerly Azure AD) for CMS 12 site

Recently, I created a doc about configuring AAD with CMS 12, but it has been posted internally only So today, I would like to introduce it again in...

Tuan Anh Hoang | Nov 25, 2025

Running Optimizely CMS 12 on .NET 10 in Azure

Upgrade your Optimizely CMS website to .NET 10!

Tomas Hensrud Gulla | Nov 21, 2025 |

Experimentation Evolution with AI (Masterclass Recap)

If you think you are not using AI in your experimentation program you are probably wrong. Ever asked an AI to rephrase a hypothesis or brainstorm a...

Polly Walton | Nov 21, 2025

Effortlessly Configurable Custom Fields for Scheduled Jobs in Optimizely with PlugInProperty

Optimizely CMS lets developers add job parameters—such as textboxes and checkboxes—directly to the scheduled job admin UI using PlugInProperty. Wit...

Ravindra S. Rathore | Nov 21, 2025 |