Optimizely CMS 12 was built to support .NET 5 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.
.NET 5 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 .NET 5 and About .NET
At a high level, the migration has three main phases:
Run the Upgrade Assistant.
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 .NET 5, 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.
Once the codebase is upgraded to .NET 5, and everything works locally, DXP customers will need to migrate their service environment to the latest version using migration tool that will soon be available in the portal.
Updated about 2 months ago