Try our conversational search powered by Generative AI!

Episerver CMS Update to 11


Hello There,

I am very new to Episerver 10, I have been updated Episerver CMS 10 to 11, I followed steps given in the link

I did updates for each EPIServer Items through the Nuget Package Manager. > Updates tabs ( i.e. Episerver CMS, Episerver CMS.AspNet, EPIServer.CMS.Core etc). After upgradation I build the project and it was successful.

But when I am going to acces the site I am getting fillowing error.

Type 'EPiServer.SpecializedProperties.LinkItem' could not be mapped to a PropertyDefinitionType

I checked source code and there is no any CMS property of type LinkItem. 
In source code I have property of LinkItemCollection, will that one is causing issue. If yes the what is alternate for this.

Secondly I am trying to update the database usign command 
update-epidatabase from package manage cosole. But I am getting error 'There is no 'nuget packages' directory'. 

Third question as I updated the CMS do I need to udpate commerce manager too?

Does anyone help me out. 


Edited, Mar 26, 2018 14:31

For your third question, yes, if you upgrade your frontend/cms/commerce site, you will have to upgrade CM. But that can be done after you complete upgrading your frontend site. 

Mar 26, 2018 15:32

Your second question, I've had the same issue few times with Visual Studio 2017 and the cure was to clean the solution, close visual studio (all instances), open the solution and then the update-epidatabase worked just fine from package manager console.

As an alternate you could add the attribute updateDatabaseSchema="true" to episerver.framework to work out the database schema update issue:

<episerver.framework updateDatabaseSchema="true">

LinkItemCollection is still valid property (check Alloy sample for example, front page has property which is using LinkItemCollection) and LinkItem are the items in the collection (LinkItem cannot be used as a property).

After the database update, do you still get the error about the LinkItem? And the solution worked ok before the update?

Mar 26, 2018 21:08

Thank you Antti, its works for me. 

After that I am facing anothere issue. 


 CS1519: Invalid token ',' in class, struct, or interface member declaration

Line 44:     }
Line 45:     
Line 46:     public virtual EPiServer.Personalization.GuiSettings, EPiServer EditTreeSettings {
Line 47:         get {
Line 48:             return ((EPiServer.Personalization.GuiSettings, EPiServer)(this.GetPropertyValue("EditTreeSettings")));
Mar 27, 2018 7:36
public virtual EPiServer.Personalization.GuiSettings, EPiServer EditTreeSettings

Should be:

public virtual EPiServer.Personalization.GuiSettings EditTreeSettings

You shouldn't specify the dll a class is located in when writing C# code.

Mar 27, 2018 14:44

I'm pretty sure this is a JIT compilation error, the code is quoted is actually from the framework assembly.

I'd suggest to remove bin folder, clean cached ASP.NET files, build the solution and try again. 

Mar 27, 2018 14:53

also check C# compiler version you have and might be good to look at target framework

Mar 27, 2018 16:19

That makes senses. CMS 11 requires .NET 4.6.1. Make sure to install that version or newer on your machine, and your web.config has been updated to targetFramework="4.6.1" (targetFramework="4.5.2" works magically for the sample Commerce site (Quicksilver), but I guess that was because 4.6.1 and 4.5.2 are highly compatible.

Mar 27, 2018 16:32

@Dipak, Valdis and Quan already mentioned some hints about the framework and compiler version.

So make sure your computer has .Net framework 4.6.1 in minimum installed and your test and production environment when you deployment there next time. I personally have updated many solutions many moons ago to use 4.7.1 framework version ;) (what ever 4.6.1+ framewrok version you choose to use, you need to make sure all of your environments have it and install it there if not yet installed).

Have a look at the Episerver 11 braking changes here in the documentation. Also note that ASP.NET MVC 5.2.3 is also required but the nuget dependencies should have updated that one.

I'm not sure how familiar you are with the framework version configuration so here goes just in case:

    <httpRuntime targetFramework="4.6.1" requestValidationMode="2.0" />
    <compilation targetFramework="4.6.1" />
	<!-- other stuff removed -->

So you set the version in those two elements (naturally the value in both would be 4.7.1 if you choose to go with the currently latest framework version).

Quans memory serves well ".NET 4.5.2, 4.6 and 4.6.1 are compatible, in-place updates on top of .NET 4, .NET 4.5, and .NET 4.5.1. This means that applications built to target any of these previous .NET 4.x versions will continue running on .NET 4.5.2 without change. No recompiling of apps is necessary." - Source

This is a good page for checking the changes between framewrok updates. For example many moons ago the change to Uri.EscapeDataString functionality by framework upgrade got me off-quard :D

Mar 27, 2018 18:49

In the web.config file change is required for EditTreeSettings config item

 <add name="EditTreeSettings" type="EPiServer.Personalization.GuiSettings, EPiServer.Cms.AspNet" />

Mar 28, 2018 5:37

@Dipak, yes that is correct and should have been done automatically by updates.

Mar 28, 2018 5:42

Thank you everyone ... !

Mar 28, 2018 11:16
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.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.