Problems with commerce sample after nuget update

Vote:
 

I installed the commerce sample package and made some changes to code. Then I got missing dll error so decided to install all related packages from nuget as references where originally from GAC. I installed at least

EPiServer.CMS.Core

EPiServer.Framework

EPiServer.Commerce

After this I built the solution and started the site. Now I have the following error:

Unable to load one or more of the requested types. The following information may be a subset of the Type/LoaderException information present - inspect with debugger for complete view.
Check assemblies [EPiServer.Cms.Shell.UI, Version=3.0.1097.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7] and/or types [EPiServer.Cms.Shell.Json.BlockDataConverter,
EPiServer.Cms.Shell.Json.CategoryListConverter,
EPiServer.Cms.Shell.Json.LinkItemCollectionConverter,
EPiServer.Cms.Shell.LinkableTypesAssembler,
EPiServer.Cms.Shell.ProfileLanguageFilterAttribute,
EPiServer.Cms.Shell.UI.Components.FileManagementComponent,
EPiServer.Cms.Shell.UI.Components.MediaComponent,
EPiServer.Cms.Shell.UI.Controllers.Preview.MediaPreviewHandlerBase,
EPiServer.Cms.Shell.UI.Controllers.Preview.DefaultMediaPreviewController,
EPiServer.Cms.Shell.UI.Controllers.Preview.MediaEditController'1,
EPiServer.Cms.Shell.UI.Controllers.Preview.ImageEditController,
EPiServer.Cms.Shell.UI.Controllers.Preview.VideoEditController,
EPiServer.Cms.Shell.UI.Editor.TinyMCE.Plugins.ContentFragment,
EPiServer.Cms.Shell.UI.Editor.TinyMCE.Plugins.EPiLink,
EPiServer.Cms.Shell.UI.Editor.TinyMCE.Plugins.EPiLinkConfigurationHandler,
EPiServer.Cms.Shell.UI.Editor.TinyMCE.Plugins.Lists,
EPiServer.Cms.Shell.UI.ObjectEditing.EditorDescriptors.CollectionEditorCommands,
EPiServer.Cms.Shell.UI.ObjectEditing.EditorDescriptors.CollectionEditorDescriptor'1,
EPiServer.Cms.Shell.UI.ObjectEditing.EditorDescriptors.CollectionEditorDescriptor'1+GridDefinitionSettings,
EPiServer.Cms.Shell.UI.ObjectEditing.EditorDescriptors.ImageReferenceEditorDescriptor]. Information from LoaderExceptions property [Method 'GetBlob' in type 'EPiServer.Cms.Shell.UI.Controllers.Preview.VideoPreviewHandler' from assembly 'EPiServer.Cms.Shell.UI, Version=3.0.1097.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7' does not have an implementation.,
Method 'GetBlob' in type 'EPiServer.Cms.Shell.UI.Controllers.Preview.ImagePreviewHandler' from assembly 'EPiServer.Cms.Shell.UI, Version=3.0.1097.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7' does not have an implementation.,
Method 'RegisterResources' in type 'EPiServer.Cms.Shell.UI.ShellCommunicationRegister' from assembly 'EPiServer.Cms.Shell.UI, Version=3.0.1097.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7' does not have an implementation.].

WTF?!? Somehow wrong version of CMS Shell?

#80549
Jan 24, 2014 13:57
Vote:
 

The nuget updates rely on assembly binding redirects in web.config. Do you use some method of restoring/transforming the web.config in your project or do you have it checked in to source control? In that case rebuilds, checkouts etc that you have done after may have removed the necessary assembly redirects. There is also an issue with adding the redirects which affects some windows versions (using Powershell 2). 

This does not look like a classic assembly binding error but it doesn't hurt to check. There should be assembly binding redirects pointing to the new versions of the EPiServer dll:s installed by the package, and the publicKeyToken should be set. How does it look?

#80563
Jan 25, 2014 8:52