Optimizely CMS 12 was built to support ASP.NET Core and is very 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.
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 Content Cloud (CMS) 12? and related topics. See also Upgrading to ASP.NET Core and About .NET
At a high level, the migration has three main phases:
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 Optimizely CMS with additional rules and code fixes.
dotnet tool install -g upgrade-assistant upgrade-assistant upgrade [projectName].csproj
Fix code issues.
The Upgrade assistant takes care of a lot of 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 have dependencies on other .NET 4 components that do not support ASP.NET Core, in which case 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 Content Cloud (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.
Upgrade the service environment.
After the codebase is upgraded to ASP.NET Core, and everything works locally, DXP customers need to migrate their service environment to the latest version using migration tool that will soon be available in the portal.
Updated 2 months ago