Johan Björnfot
Dec 4, 2017
  6134
(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
Graph access with only JS and Fetch

Postman is a popular tool for testing APIs. However, when testing an API like Optimizely Graph that I will be consuming in the front-end I prefer t...

Daniel Halse | Feb 4, 2026

Best Practices for Implementing Optimizely SaaS CMS: A Collective Wisdom Guide

This guide compiles collective insights and recommendations from Optimizely experts for implementing Optimizely SaaS CMS, focusing on achieving...

David Knipe | Feb 4, 2026 |

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