HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Upgrade to CMS 12

Describes the main process for upgrading to Optimizely Content Management System (CMS 12).

Optimizely Content Management System (CMS 12) was built to support ASP.NET Core and higher and is similar to CMS 11 to make upgrading as simple as possible. Upgrading to CMS 12 does not require a data migration, and most packages and APIs are identical, so you could upgrade from the NuGet Package Manager.

📘

Note

ASP.NET Core is different from .NET 4 in significant ways - including how configuration works, serialization, dependency injection, logging, and other important differences - so before you upgrade, see Why upgrade to CMS 12? and related topics. See also Upgrade to ASP.NET Core and About .NET

At a high level, the migration has three main phases:

  1. Run the Upgrade Assistant.

    The Upgrade assistant is a dotnet tool from Microsoft that converts a .NET 4 codebase to ASP.NET Core. Optimizely extended the tool specifically for CMS with additional rules and code fixes.

    dotnet tool install -g upgrade-assistant
    upgrade-assistant upgrade [projectName].csproj
    
  2. Fix code issues.

    The Upgrade assistant handles many basic issues but usually leaves you with several remaining issues depending on the codebase. Fixing remaining code issues might be trivial, or it might not. For example, you may depend on other .NET 4 components that do not support ASP.NET Core, where you need to find replacements or live without those components. You may have a lot of .NET 4 code of your own to upgrade which the Upgrade assistant cannot help you with. You may depend on deprecated Optimizely packages.

    The Breaking changes in CMS 12 can help you figure out where you may need to do some work. You could also run the Upgrade assistant to see what you are left with.

  3. Upgrade the service environment.

    After the codebase is upgraded to ASP.NET Core, and everything works locally, DXP customers must migrate their service environment to the latest version using the migration tool available in the portal.

Related topics