---
title: Upgrade Episerver Relate to CMS 11
slug: cms-11/dev-docs/upgrading-episerver-relate-to-cms-11
docTags: 
createdAt: 2026-07-22T19:45:21.284Z
---

Prerequisite: If you do not have one, set up a **Relate 7.5** website. See Relate+ 7.5 documentation.

1. Use Visual Studio to open the website.
2. Press Ctrl+Shift+S to save the solution.
3. Change the **Target Framework** to 4.6.1.
4. Install the following [Optimizely NuGet feed](https://nuget.optimizely.com/) packages:
   - [EPiServer.Community 9.0.0](https://nuget.episerver.com/en/OtherPages/Package/?packageId=EPiServer.Community)
   - [EPiServer.CommonFramework 9.0.1](https://nuget.episerver.com/en/OtherPages/Package/?packageId=EPiServer.CommonFramework)
   - [EPiserver.Mail 10.0.0](https://nuget.episerver.com/en/OtherPages/Package/?packageId=EPiServer.Mail)
   - [EPiServer.CMS.UI](https://nuget.episerver.com/en/OtherPages/Package/?packageId=EPiServer.CMS.UI)
   - [EPiServer.Packaging](https://nuget.episerver.com/en/OtherPages/Package/?packageId=EPiServer.Packaging)
   - [EPiServer.ServiceLocation.StructureMap](https://nuget.episerver.com/en/OtherPages/Package/?packageId=EPiServer.ServiceLocation.StructureMap)
   - [EPiServer.DynamicContent](https://nuget.episerver.com/en/OtherPages/Package/?packageId=EPiServer.DynamicContent)
5. Remove solution references to `EPiServer.BaseLibrary.dll` and `EPiServer.Implementation.dll`.
6. From the `bin` folder, delete `EPiServer.BaseLibrary.dll`, `EPiServer.Implementation.dll`, and `EPiServer.WorkflowFoundation.dll`.
7. Fix the following obsolete or missing API functions:
   - Error CS0115  `PropertyClubAssociation.CreatePropertyControl()`: no suitable method found to override EPiServer.Templates.RelatePlus
   - Error CS0115  `PropertyForumAssociation.CreatePropertyControl()`: no suitable method found to override `EPiServer.Templates.RelatePlus`
   - Remove `CreatePropertyControl ()` functions and replace `RelateInitializationModule.cs` with the attached file.
   - Replace the following methods and properties:

| Old                             | New                                      |
| ------------------------------- | ---------------------------------------- |
| Common.EPiServerCommonEventArgs | EPiServer.Common.EPiServerCommonEventArg |
| Common.Uri.UriProvider          | EPiServer.Common.Uri.UriProvide          |
| Common.EntityStatus.Approved    | EPiServer.Common.EntityStatus.Approved   |
| Common.Security.IUser           | EPiServer.Common.Security.IUser          |
| Common.Settings                 | EPiServer.Common.Settings                |
| Common.Sorting                  | EPiServer.Common.Sorting                 |
| Common.Visits                   | EPiServer.Common.Visits                  |
| AccessControlList: Exists       | AccessControlList\:Contains              |

change

```javascript
*   Fix the compile error in `Templates\__RelatePlus\InitializationModules\CmsIntegrationModule.cs` by replacing it with the [attached file](/epiui/CMS/Content/contentassets/7ce4a81509d842879d33e0fa2dc57bc6/cmsintegrationmodule.cs,,189220?epieditmode=False "CmsIntegrationModule.cs").
    
*   In `RouteTable.Routes.GetVirtualPathForNonContent`, change

var currentLanguage = Globalization.ContentLanguage.PreferredCulture.Name;
```

to

```javascript
var virtualPath = UrlResolver.Current.GetVirtualPathForNonContent(entry, currentLanguage, null);
```

- In `Configuration.Settings.Instance.SiteDisplayName`, update `EPiServer.Web.SiteDefinition.Current.Name`.
- In `StripHtmlFilterRules`, update using `EPiServer.HtmlParsing.Internal;`.
- In `EPiServer.Web.PermanentLinkMapStore.TryToMapped`, update `Web.Routing.UrlResolver.Current.TryToPermanent(responseItem.Uri.ToString(), out mappedUrl)`.
- Change

```javascript
PermanentContentLinkMap pplm = PermanentLinkMapStore.Find(pageEntity.PageGuid) as PermanentContentLinkMap; 
```

to

```javascript
PermanentLinkMap pplm = ServiceLocator.Current.GetInstance<IPermanentLinkMapper>().Find(pageEntity.PageGuid);
```

- Regarding the function `VersioningFileSystemSearchHandler:` temporarily ignore it. To do so, comment it and return zero (0).

8. In the `EPiServerFramework.config` file, run **Update-epidatabase** or add an **updateDatabaseSchema="true"** attribute to the episerver.framework tag.
9. Press Ctrl+F5 to browse the website.
10. Convert the database to UTC by opening Package Manager Console and running the cmdlet Convert-EPiDatabaseToUtc.
11. Open `RelatePlus.Master.Designer.cs`. Within that file, change `protected global::System.Web.UI.HtmlControls.HtmlGenericControl HtmlElement;` to `protected global::System.Web.UI.HtmlControls.HtmlElement HtmlElement;`.
12. Open `ClubMasterPage.Master.Designer.cs`. Within that file, change `protected global::System.Web.UI.HtmlControls.HtmlGenericControl HtmlElement;` to `protected global::System.Web.UI.HtmlControls.HtmlElement HtmlElement;`.
13. Open `SearchRelatePlus.Master.Designer.cs`. Within that file, change `protected global::System.Web.UI.HtmlControls.HtmlGenericControl HtmlElement;` to `protected global::System.Web.UI.HtmlControls.HtmlElement HtmlElement;`.
14. Rebuild the project.
15. Copy the IMAP4.Net.dll and Parse.Net.dll (attached files) to the `/bin` folder.
16. Press Ctrl+F5 to browse the website.
17. If you want to send email in a Relate+ site, open the file `EPiServerMail\MasterPages\Mail.Master`, and replace

```javascript
<%= Page.DojoConfig(false, true) %>
```

with

```javascript
<%= Page.ConfigureDojo(false, true, false) %>
```
