Johan Björnfot
Optimizely
Dec 4, 2017
visibility 7161
star star star star star
(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

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026