After upgrading to 2.3.0 I get following error when starting:
INFO Merchello.Web.UmbracoApplicationEventHandler - Attempting to initialize Merchello
INFO Merchello.Web.WebBootManager - Verifying Merchello Database is present.
INFO Merchello.Core.CoreBootManager - Initializing Merchello GatewayResolver
INFO Umbraco.Core.PluginManager - Starting resolution types of Merchello.Core.Gateways.GatewayProviderBase
INFO Umbraco.Core.PluginManager - Completed resolution of types of Merchello.Core.Gateways.GatewayProviderBase, found 0 (took 1ms)
INFO Umbraco.Core.PluginManager - Starting resolution types of Merchello.Core.Observation.ITrigger
INFO Umbraco.Core.PluginManager - Completed resolution of types of Merchello.Core.Observation.ITrigger, found 0 (took 1ms)
INFO Umbraco.Core.PluginManager - Starting resolution types of Merchello.Core.Observation.IMonitor
INFO Umbraco.Core.PluginManager - Completed resolution of types of Merchello.Core.Observation.IMonitor, found 0 (took 2ms)
INFO Umbraco.Core.PluginManager - Starting resolution types of Merchello.Core.Chains.OfferConstraints.IOfferProcessor
INFO Umbraco.Core.PluginManager - Completed resolution of types of Merchello.Core.Chains.OfferConstraints.IOfferProcessor, found 0 (took 1ms)
INFO Umbraco.Core.PluginManager - Starting resolution types of Merchello.Web.Mvc.IPaymentMethodUiController
INFO Umbraco.Core.PluginManager - Completed resolution of types of Merchello.Web.Mvc.IPaymentMethodUiController, found 0 (took 1ms)
ERROR Merchello.Web.UmbracoApplicationEventHandler - Initialization of Merchello failed
System.InvalidOperationException: Resolution is not frozen, it is not yet possible to get values from it.
bei Umbraco.Core.ObjectResolution.Resolution.Reader(Boolean canReadUnfrozen)
bei Umbraco.Core.ObjectResolution.SingleObjectResolverBase`2.get_Value()
bei Merchello.Core.Logging.MultiLogHelper.Error(Type callingType, String message, Exception exception)
bei Merchello.Web.Ui.PaymentMethodUiControllerResolver.Initialize()
bei Merchello.Web.Ui.PaymentMethodUiControllerResolver..ctor(IEnumerable`1 value)
bei Merchello.Web.WebBootManager.InitializeResolvers()
bei Merchello.Core.CoreBootManager.Initialize()
bei Merchello.Web.WebBootManager.Initialize()
bei Merchello.Core.MerchelloBootstrapper.Init(BootManagerBase bootManager)
bei Merchello.Web.UmbracoApplicationEventHandler.ApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
Umbraco.Core.DatabaseContext - CanConnect = True
Merchello.Web.Search.ExamineEvents - Initializing Merchello ProductIndex binding events
Merchello.Web.Trees.ServerVariablesParsingEvents - Initializing Merchello ServerVariablesParsingEvents
Merchello.Web.UmbracoApplicationEventHandler - Initializing Customer related events
Tried following:
Upgrade to Umbraco 7.5.4 then Merchello 2.3.0 but error.
Upgrade to Umbraco 7.5.4 then Merchello 2.2.1 (this works I can access the Tree etc.) then Merchello 2.3.0 but error.
Umbraco 7.4.3 then Merchello 2.3.0 but error.
Umbraco 7.4.3 then Merchello 2.2.1 (this works) then Merchello 2.3.0 but error.
Deleted App_Data/TEMP, re-indexed Examine, copied merchello.config from Fast Track, ...
What is being reported is that something is trying to read from a resolver before Umbraco has frozen the "Resolution" singleton - which Umbraco does not allow.
I've never seen it before but am interested as to how it might occur. Do you have another event handler that is doing something with a Merchello resolved provider (like a payment provider or notification provider) before Umbraco is started?
I've a custom PayPalExpressPaymentController to do some additional stuff (we cannot use the Merchello.Web.Store atm).
There I use the same attribute [GatewayMethodUi("PayPal.ExpressCheckout")] if I remove this attribute it works - no errors.
If I re-add it the error occurs.
So I think it gets somehow confused because the PayPalExpressPaymentController is there twice with the same Attribute?
Edit: Renamed it to MySuperNewPayPalExpressPaymentController but error still occurs. So I think the problem is, that PayPal.ExpressCheckout is used twice?
Edit 2: Also to mention that I don't use [PluginController("Merchello")] on my Controller...
The [GatewayMethodUi("PayPal.ExpressCheckout")] is not required - it's only for the resolution. In you want to use it, you can change the alias to anything you want - e.g.
[GatewayMethodUi("MyImplementationOfPayPal")]
It does NEED to be unique in order to be used in the FastTrack starter albeit minor tweaking could get around it.
The PluginController is an Umbraco attribute which basically allow one to put a controller into a specific area (and allows for locating views in the App_Plugins folder for the "area").
So you could put views for a controller decorated with [PlugingController("MyPlugin")] in App_Plugins\MyPlugin\Views
Error when upgrading to 2.3.0
Hi Rusty
I've an Merchello 2.1.0 with Umbraco 7.4.3.
After upgrading to 2.3.0 I get following error when starting:
Tried following:
Do you have any clues?
Thanks
Calvin
What payment providers do you have installed?
What is being reported is that something is trying to read from a resolver before Umbraco has frozen the "Resolution" singleton - which Umbraco does not allow.
I've never seen it before but am interested as to how it might occur. Do you have another event handler that is doing something with a Merchello resolved provider (like a payment provider or notification provider) before Umbraco is started?
Ha! Found it but it's super weird.
I've a custom
PayPalExpressPaymentController
to do some additional stuff (we cannot use the Merchello.Web.Store atm).There I use the same attribute
[GatewayMethodUi("PayPal.ExpressCheckout")]
if I remove this attribute it works - no errors.If I re-add it the error occurs.
So I think it gets somehow confused because the PayPalExpressPaymentController is there twice with the same Attribute?
Edit: Renamed it to MySuperNewPayPalExpressPaymentController but error still occurs. So I think the problem is, that
PayPal.ExpressCheckout
is used twice?Edit 2: Also to mention that I don't use
[PluginController("Merchello")]
on my Controller...The
[GatewayMethodUi("PayPal.ExpressCheckout")]
is not required - it's only for the resolution. In you want to use it, you can change the alias to anything you want - e.g.[GatewayMethodUi("MyImplementationOfPayPal")]
It does NEED to be unique in order to be used in the FastTrack starter albeit minor tweaking could get around it.
The
PluginController
is an Umbraco attribute which basically allow one to put a controller into a specific area (and allows for locating views in the App_Plugins folder for the "area").So you could put views for a controller decorated with
[PlugingController("MyPlugin")]
in App_Plugins\MyPlugin\Viewsis working on a reply...