In our project we have a Sitecore 9.0.1 solution conforming to Helix architecture. We also have Sitecore Commerce installed.

When I add a reference to Sitecore.Commerce.Core to a project in the Helix structure, it requires Microsoft.Extensions.DependencyInjection 2.0.0, while Sitecore 9 uses 1.1.1. They are not compatible and after deployment there is a bunch of errors.

How to use Sitecore.Commerce.Core with the Helix project?

  • Clarify what you mean by "Helix project". You mean the Habitat solution? Helix has no bearing on project references
    – Mark Cassidy
    May 28 '18 at 14:05

They are not compatible. And they shouldn't be.

Your "Helix Project" is your website, your Sitecore solution. This runs on ASP.NET 4.5 (or so) and will be the front of your solution.

Sitecore.Commerce.Core is a .NET Core component, and whatever you build using that component will need to be a .NET Core project which will be deployed to your Commerce Engine (not your website).


Sitecore.Commerce.Core is typically only used in the plugins you write for the Commerce Engine and not in the features you write using the Helix structure.

I would not expect a project that uses Sitecore.Commerce.Core and is deployed to Sitecore XP.

You should probably use Sitecore.Commerce.Connect.Core which is a layer between Sitecore XP and Sitecore Commerce Engine.

Best regards, Erwin


I typically have two solutions:

  1. One for regular "Sitecore" project which is following Helix structure
  2. Second solution with all Commerce related stuff like plugins, minions and so on

Either way they have to be deployed separately so it's also good practice to have it like this.

Your Answer

