After upgrading an EPiServer Commerce solution from version 6 R3 to 7.5, we came across some issues that quickly becomes time consuming if you are not aware of them. To save you time troubleshooting - here is a short description of the issues and how to get around them.
The login screen reported no errors, actually not even "Login failed". This issue took us quite some time to figure out.
Between version 6 and 7.5, EPiServer has changed how they map secuirity roles (see table Security_RoleAssignment in Commerce database). In version 6 they map security roles using UserId, while in 7.5 they use ContactId.
This should have been handled by the upgrade, but in my case it was not.
How to get around it
You need to run a stored procedure to add a row to the Security_RoleAssigment table mapping the contact id to the role. Here is an example adding mapping for role 'Admins';
declare @sraId UniqueIdentifier = NEWID() declare @rp uniqueidentifier = 'EDBA2C7C-9ACD-4116-A354-16F4CCDACCA5' -- the ContactId guid for your commerce admin user EXEC mc_Security_RoleAssignmentInsert @sraId, @rp, 'Admins', NULL, NULL, 0 GO
The issue has been reported and confirmed by EPiServer support.
From time to time you will se an error similar to this inside Commerce Manager:
The problem is the EPiServer.Common.ComponentArt.Web.UI.dll that has found it's way into the bin folder of your commerce manager website. This dll is part of EPiServer.Common and ends up in bin because of nuget dependecies.
How to solve it
Simply navigate to the bin folder of your commerce manager site, locate the dll mentioned and delete the file. Refresh the site, and the error is gone.
A more permanent solution is to remove the file as part of a post build script.
This issue has also been reported to EPiServer and will be fixed in future releases.