Upgrade problem in consolemanager: The provided data type does not match any known PropertyData type.

Vote:
 

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
   EPiServer.Framework.Initialization.InitializationEngine.InitializeModules() +314

[InitializationException: Initialize action failed for Initialize on class EPiServer.Initialization.PlugInInitialization, EPiServer, Version=8.10.0.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7]
   EPiServer.Framework.Initialization.InitializationEngine.InitializeModules() +855
   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=8.10.0.0, 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
#131731
Aug 04, 2015 13:38
Vote:
 

Hi,

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.

Regards,

/Q

#131744
Aug 04, 2015 15:56
Vote:
 

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?

#131765
Aug 05, 2015 8:21
Vote:
 

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.

/Q

#131767
Aug 05, 2015 9:27
Vote:
 

Thanks for the hint.

If i remove these two it works:

EpiServer.Business.Commerce.dll
EPiServer.Commerce.Internal.Migration.dll

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=8.15.0.810

Catch 22? Any idea?

#131776
Aug 05, 2015 10:35
Vote:
 

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?

/Q

#131778
Aug 05, 2015 10:45
Vote:
 

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?

#131781
Aug 05, 2015 10:57
Vote:
 

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

any ideas?

#131786
Aug 05, 2015 11:23
Vote:
 

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.

Regards.

/Q

#131810
Aug 05, 2015 21:48
Vote:
 

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)?

#131816
Aug 06, 2015 8:22
Vote:
 

@Magnus and @Quan

Front end EPiServer.CMS.Core 8.11 - Episerver.dll 8.11
Back 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?

#131818
Aug 06, 2015 10:17
Vote:
 

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.

#131819
Aug 06, 2015 10:30
Vote:
 

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?

#131821
Aug 06, 2015 10:38
Vote:
 

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.

Regards.

/Q

#131822
Aug 06, 2015 10:44
Vote:
 

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.

#131824
Edited, Aug 06, 2015 10:46
Vote:
 

Hi

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:

The provided data type does not match any known PropertyData type.

I installed with the nuget package...

Juan

#134505
Sep 15, 2015 13:41
Vote:
 

Hi,

Make sure you have same version of every nuget packages (EPiServer.Framework, EPiServer.CMS.Core, EPiServer.Commerce.Core) on both sites,

Regards,

/Q

#134511
Sep 15, 2015 14:04
Vote:
 

Hi Quan

I will need to downgrade Episerver...

What happend with future upgrade of CMS? We have to wait to the new Commerce 9?

/J

#134526
Sep 15, 2015 16:34
Vote:
 

Hi,

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.

Regards,

/Q

#134527
Edited, Sep 15, 2015 16:41
Vote:
 

Thanks Quan for reply

I have this vertions in my sites

NugetPackage                        Episerver Frontsite             Episerver Commerce Manager
EPiServer.Framework             8.11.0.0                             8.10.1.0
EPiServer.CMS.Core               8.11.0.0                             8.10.1.0
EPiServer.Commerce.Core      8.16.1.916                         8.16.1.916

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?

Thanks

#135830
Sep 16, 2015 10:33
Vote:
 

I think it perfectly fine to update CM to Framework and CMS.Core 8.11.0. Do you have any problem with that?

/Q

#135832
Sep 16, 2015 10:38
Vote:
 

Hi

That did the job, I updated the Commerce Manager with the Episerver.Cms.Core and that solve the problem.

Thanks

#135864
Sep 16, 2015 13:25
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.