Hi! Upgrade from Commerce 8.7.1 to 8.15 in Mediachase.ConsoleManagerUpdate i do get the following when running the site av recompile:
I have updated the front end site and the database from there before this.
Any Ideas? where to start looking?
[ArgumentOutOfRangeException: The provided data type does not match any known PropertyData type.
Parameter name: dataType]
EPiServer.DataAbstraction.PropertyDefinitionType.ResolvePropertyDataType(PropertyDataType dataType) +173
EPiServer.DataAbstraction.<>c__DisplayClass4.b__3(PropertyDefinitionType pdt) +19
System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source, Func`2 predicate) +169
EPiServer.PlugIn.PropertyDefinitionTypePlugInAttribute.RegisterPropertyDefinitions(PlugInDescriptor plugins, IPropertyDefinitionTypeRepository propertyDefinitionTypeRepository, BlockTypeRepository blockTypeRepository, IContentTypeModelAssigner contentModelAssigner) +207
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object parameters, Object arguments) +229
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture) +193
EPiServer.PlugIn.PlugInRuntime.Call(TypesWithState typeWithState, String methodName) +225
EPiServer.PlugIn.PlugInRuntime.Call(String methodName) +560
EPiServer.PlugIn.PlugInRuntime.Start(Boolean reset) +247
EPiServer.Initialization.PlugInInitialization.Initialize(InitializationEngine context) +47
EPiServer.Framework.Initialization.ModuleNode.Execute(Action a, String key) +64
[InitializationException: Initialize action failed for Initialize on class EPiServer.Initialization.PlugInInitialization, EPiServer, Version=126.96.36.199, Culture=neutral, PublicKeyToken=8fe83dea738b45b7]
EPiServer.Framework.Initialization.InitializationEngine.Initialize(HostType hostType) +168
EPiServer.Framework.Initialization.InitializationModule.Initialize(HostType hostType) +951
EPiServer.Framework.Initialization.InitializationModule.Init(HttpApplication context) +108
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo handlers) +530
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo handlers, IntPtr appContext, HttpContext context) +304
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +404
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +475
[HttpException (0x80004005): Initialize action failed for Initialize on class EPiServer.Initialization.PlugInInitialization, EPiServer, Version=188.8.131.52, Culture=neutral, PublicKeyToken=8fe83dea738b45b7]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12980692
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12820285>
Have you run the front-end site site prior of this?
I would suggest you try to empty the CM bin folder and build the project again.
yes! front en site first was working. Also tried to empty bin.
Ive checked the databas version CM version 6.10.3 as it should for Commerce 8.15
Any other ideas?
The database version looks correct - it does not match 1:1 with assembly version.
I don't really know what is wrong - but do you have the front-end assembly in CM's bin folder? It is not supposed to be there.
Thanks for the hint.
If i remove these two it works:
But when I go to OrderManagement/a specific Order, it is asking for these dlls: Could not load file or assembly 'EPiServer.Business.Commerce, Version=184.108.40.2060
Catch 22? Any idea?
The migration assembly can be deleted, but the Commerce.dll thing should be there. What I mean was your front-end assembly (YourProject.dll).
Can you make sure you only install EPiServer.CommerceManager package to CM?
Regarding migration.dll OK.
My dlls are the worklows and custom shipping only. Needs to be there.
Yes, i have only installed EPiServer.CommerceManager package to CM, (ive uninstalled all and reinstalled too)
Can i figure out what the "dataType" is, or configure to not register plugins?
When i run SQL profiler, the last thing that runs is "exec netPageDefinitionTypeList" to the CMS base. Lists all the pageproperties...
just after several "exec netPlugInSynchronize"
the last one: exec netPlugInSynchronize @AssemblyName=N'EPiServer.Business.Commerce', @TypeName=N'EPiServer.Commerce.SpecializedProperties.PropertyPriceCollection', @DefaultEnabled=1
It's hard to say, because the initialization of types are done in CMS and it works for you, so I can't think of any reason it fails on the CM site.
But I believe that we recommend to separate your projects into one which handle the front-end site (like the EPiServer.Commerce.Sample project) and ones which handle payment gateways, shipping gateways,... so you' won't have to put YourFrontEnd.dll in to CM's bin.
I can't remember which changes from 8.7.1 to 8.15 can cause the problem, but I would suggest you to try the long way:
- Try to update to CMS 8.0 + Commerce 8.8 first (as CMS 8.0 is a breaking change release).
- Try to update through each version to see which breaks your site.
I know it's long way to go but we need to minimize the scope where the error comes from.
What versions of EPiServer.CMS.Core do you have in the frontend site and commerce manager? Please check both the packages.config files and an assembly version in the bin folder (e.g. EPiServer.dll)?
@Magnus and @Quan
Front end EPiServer.CMS.Core 8.11 - Episerver.dll 8.11Back end CM EPiServer.CMS.Core 8.10 - Episerver.dll 8.10, because compatibility problems with Commerce 8.15 and custom workflows.
So, i did downgrade Frontend to 8.10, restored the db. And did the upgrade again from db version 7015 to 7021.
Now all work
Conclusion: it had to do with different assemblies. Conclusion2: I can not upgrade front end if an cms-assembly is not compiled with Commerce assembly because of my workflows wont compile with another version at VS compiletime.
What about that?
It is a good rule to use the same versions of all EPiServer* packages on both sites. One reason is database version, even though it isn't updated unless there's a change so you might have a compatible state with different versions in this sense.
In this case you ran into a very special case as EPiServer.CMS.Core 8.11 introduced a new property data type, something that hasn't happened for many years and is unlikely to happen again for a very long time. The property data type is not part of the database schema though, it is added to the database when the site runs, which is why the database version check did not catch this incompatibility. But differing versions could probably trip up on other changes as well, so keep the versions the same.
Allright! but your valued information is not described on the release info of update 77 http://world.episerver.com/releases/episerver---update-77/
Also, it would be nice if every CMS version is compatible with Commerce. but maybe impossible?
It's required to have both front-end and back-end to have same versions (of everything).
We are aware of the issue with the custom workflow and right now the only solution is to only update the EpiServer.Commerce.Core and leave the Framework and Cms.core package nuget installs for you. In other words, never update Framework or Cms.Core to newer versions than the ones come with Commerce.
We're working to solve this problem in Commerce 9.
It is related to the JSON property beta feature that is described in the release notes.
Every CMS version can not be compatible with commerce because commerce builds on CMS and has requirements on it. But you can run your current Commerce version with every 8.x CMS version that is *newer* than one you previously installed (downgrades are not possible).
The problem here is that we have no mechanism to strictly enforce the same version on all sites/servers talking to the database. Perhaps we should have.
Edit: As per Quan's response, I reserve the "every 8.x CMS version" statement against custom workflow builds, as I understand the Workflow Foundation dependency resolving is fundamentally flawed.
I having the same problem.
I am installing Commerce in a existing CMS 8.11 everythings work, but when I browse to CommerceManager backend, I get the error:
I installed with the nuget package...
Make sure you have same version of every nuget packages (EPiServer.Framework, EPiServer.CMS.Core, EPiServer.Commerce.Core) on both sites,
I will need to downgrade Episerver...
What happend with future upgrade of CMS? We have to wait to the new Commerce 9?
I think you might misunderstand my post. My point was EPiServer.Framework needs to be same version on both cms and CM sites (for example 8.10.1), and so does EPiServer.Commerce.Core (8.16.0 for example). I did not mean that EPiServer.Framework and EPiServer.Commerce.Core have to be same version.
Thanks Quan for reply
I have this vertions in my sites
NugetPackage Episerver Frontsite Episerver Commerce ManagerEPiServer.Framework 220.127.116.11 18.104.22.168EPiServer.CMS.Core 22.214.171.124 126.96.36.199EPiServer.Commerce.Core 188.8.131.526 184.108.40.2066
So I need to downgrade my Episerver.Cms.Core?
Its not possible to upgrade the Episerver.Cms.Core and Framework on the Commerce Manager backend site?
I think it perfectly fine to update CM to Framework and CMS.Core 8.11.0. Do you have any problem with that?
That did the job, I updated the Commerce Manager with the Episerver.Cms.Core and that solve the problem.