Migration sitefinity 4.3.1885 to 5.0.2500
in compatibility range version but not that easy....
A real hell to migrate solution on developer computer. After a brief hope when the solution finally works, but reality catches up with you.
Our solution can't run in release mode and this isn't the end. We are working on several environments, so we have multiple databases (before production) on a single project.
We manage to migrate development database, but when we deploy our solution on a server to upgrade sitefinity version. The project run only on debug mode and solution doesn't updated correctly. So to update each database, we must return to source previous version and do the update by connecting to database locally?
Really this is not serious, how can you sell a product in this state....
For the record, it's the other way around for me: my SF 5.0 site works in Release mode, but not in Debug mode.
And on a copy of the same project which is still under SF 4.3, it stopped working in Release mode, and now only works in Debug mode. Weird!
When it doesn't work, the exception is:
Server Error in '/' Application.
No collection element matches the given key in a remove operation.
An unhandled exception occurred during the execution of the current web
request. Please review the stack trace for more information about the error and
where it originated in the code.
Exception Details: System.Configuration.Provider.ProviderException: No collection element matches the given key in a remove operation.
An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
[ProviderException: No collection element matches the given key in a remove operation.]
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadCollectionElement(ConfigElementCollection collection, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo) +2917
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo, Boolean isNew, Boolean validateTagName) +398
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadPropertyElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo) +482
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadElement(ConfigElement element, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, UpgradingInfo upgradingInfo, Boolean isNew, Boolean validateTagName) +435
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadSectionFromReader(ConfigSection section, XmlReader reader, ConfigPolicyHandler policyHandler, String policyName, Boolean checkForUpgrade, UpgradingInfo& upgradingInfo) +422
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadSectionFromFile(ConfigSection section, ConfigPolicyHandler policyHandler, String policyName, Boolean withUpgrade) +136
Telerik.Sitefinity.Configuration.Data.XmlConfigProvider.LoadSection(ConfigSection section, ConfigPolicyHandler policyHandler, String policyName) +126
Telerik.Sitefinity.Configuration.ConfigSection.Initialize(ConfigProvider provider, ConfigPolicyHandler policyHandler, String policyName, Boolean singlePolicy) +260
Telerik.Sitefinity.Configuration.ConfigSection.Initialize(ConfigProvider provider) +45
Telerik.Sitefinity.Configuration.Config.Get(Boolean safeMode) +254
Telerik.Sitefinity.Abstractions.Bootstrapper.RegisterRoutes(RouteCollection routes) +938
Telerik.Sitefinity.Web.SitefinityHttpModule.Init(HttpApplication context) +112
System.Web.Routing.UrlRoutingModule.System.Web.IHttpModule.Init(HttpApplication application) +10
System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo handlers) +828
System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +304
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +107
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +327
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.225
Now, allow me to gently troll a little bit, because it eases my pain.
I made others tests and it seems compilation problem occurs in version 5.0.2523.
The error that you are experiencing is quite strange, as we have upgraded numerous sites on different environments without having such issues.
However I could not really get all the details about the workflow that you are following to upgrade your project to 5.0. If possible, can you provide the steps that you take to upgrade Sitefinity as well as the changes that are made to the solution, so we can try to reproduce it locally.
the Telerik team
From the tests Nicolas did: upgrading to 5.0 seems to work fine (after messing with our config files a little bit, that is), but not with the 5.0 hotfix version (5.0.2523). We still need to do more testing, but since the hotfix doesn't matter for us (because we're on the Enterprise Edition), we may just stick to 5.0 vanilla. We'll post back with more details.
Thank you for sharing the information with me. We have made numerous tests on our test environments, but we could not reproduce the error so any additional information would be helpful. I want to note that we have just released the SP1 for 5.0 so you can also try to upgrade to it, instead of the 5.0 2523 build.
All the best,
the Telerik team
Can you confirm whether we can directly upgrade from 4.3 to 5.0 SP1, or does it have to be done in 2 steps?
Upgrading to 5.0 is officially supported from version 4.3 and 4.4. However since 5.0 SP1 is our latest version, newer than 5.0 I would suggest you to move first to 4.4 or 5.0 before upgrading to SP1. I have made some tests on my environment, by upgrading sample projects to 5.0 SP1, without encountering problems. However if you have a lot of custom controls and other data you may encounter some issues, therefore I would suggest to run the upgrade process on a test / staging environment and observe the behaviour of the project after the upgrade.
All the best,
the Telerik team