Hi there,
We recently upgraded the TinyMCE nuget package from 1.1.0.0 to 2.9.0.0 - Following the upgrade we were receiving the error below when attempting to create a new dropdown list via global settings (after hitting Save).
To remedy the issue above I ran the following DB scripts (based on this):
UPDATE [dbo].[tblBigTableReference]
SET
ElementType = 'EPiServer.Cms.TinyMce.Core.TinyMceSettings, EPiServer.Cms.TinyMce, Version=2.9.0.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7'
WHERE ElementType = 'EPiServer.Editor.TinyMCE.TinyMCESettings, EPiServer.Cms.TinyMce, Version=1.1.0.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7';
UPDATE [dbo].[tblBigTable]
SET
ItemType = 'EPiServer.Cms.TinyMce.Core.TinyMceSettings, EPiServer.Cms.TinyMce, Version=2.9.0.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7'
WHERE ItemType = 'EPiServer.Editor.TinyMCE.TinyMCESettings, EPiServer.Cms.TinyMce, Version=1.1.0.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7';
Once the scripts executed, I tried to create a dropdown list again but I am now receiving the following error:
I was wondering if anyone has seen this issue before or if there are any ideas as to how I might resolve this?
Here is the relevant stack trace:
2019-11-05 14:41:18,220 [37] ERROR EPiServer.UI.Admin.EditPageTypeGlobalSettings: Error while saving property settings.
System.MissingMethodException: No parameterless constructor defined for this object.
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at EPiServer.Data.Dynamic.Providers.Internal.DbDataStoreProvider.LoadObject(ProviderCallContext context)
at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass31_0`1.<Execute>b__0()
at EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute[TResult](Func`1 method)
at EPiServer.Data.Dynamic.DynamicDataStore.InternalLoad(Identity id, Type type, LoadAsObjectType loadAs, ProviderCallContext parentContext)
at EPiServer.Data.Dynamic.Providers.Internal.DbDataStoreProvider.LoadSubObject(Identity id, Type type, String storeName, ProviderCallContext context)
at EPiServer.Data.Dynamic.Providers.Internal.DbDataStoreProvider.LoadReferencesAndCollections(ProviderCallContext ctx)
at EPiServer.Data.Dynamic.Providers.Internal.DbDataStoreProvider.LoadObject(ProviderCallContext context)
at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass31_0`1.<Execute>b__0()
at EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute[TResult](Func`1 method)
at EPiServer.Data.Dynamic.DynamicDataStore.InternalLoad(Identity id, Type type, LoadAsObjectType loadAs, ProviderCallContext parentContext)
at EPiServer.Data.Dynamic.Providers.Internal.DbDataStoreProvider.LoadSubObject(Identity id, Type type, String storeName, ProviderCallContext context)
at EPiServer.Data.Dynamic.Providers.Internal.DbDataStoreProvider.LoadReferenceMarkers(IList list, ProviderCallContext context)
at EPiServer.Data.Dynamic.Providers.Internal.DbDataStoreProvider.LoadCollection(ProviderCallContext context, PropertyMap propertyMap)
at EPiServer.Data.Dynamic.Providers.Internal.DbDataStoreProvider.LoadReferencesAndCollections(ProviderCallContext ctx)
at EPiServer.Data.Dynamic.Providers.Internal.DbDataStoreProvider.LoadObject(ProviderCallContext context)
at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass31_0`1.<Execute>b__0()
at EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute[TResult](Func`1 method)
at EPiServer.Data.Dynamic.DynamicDataStore.InternalLoad(Identity id, Type type, LoadAsObjectType loadAs, ProviderCallContext parentContext)
at EPiServer.Data.Dynamic.Internal.EPiServerDynamicDataStore.Load[TResult](Identity id)
at EPiServer.Data.Dynamic.Internal.DynamicDataCollection`1.DynamicDataCollectionEnumerator.get_Current()
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
at EPiServer.Core.PropertySettings.Internal.PropertySettingsRepository.LoadGlobalsHolder()
at EPiServer.Core.PropertySettings.Internal.PropertySettingsRepository.SaveGlobal(PropertySettingsWrapper global)
at EPiServer.UI.Admin.EditPageTypeGlobalSettings.Save()
at EPiServer.UI.Admin.EditPageTypeGlobalSettings.SaveButton_Click(Object sender, EventArgs e)
Cheers,
Tom.