I am preparing for my next attempt at upgrading a Kentico 12 MVC site (12.0.102) that I inherited to Kentico 13 and I'm just trying to determine viable paths that I can take.
What I would like to know is, what functionality am I likely to lose in the upgrade process, meaning what functionality do they no longer support that is likely to be an issue, and how can I get around that?
And secondly, is there going to be much of a difference between upgrading to 13 MVC or can I upgrade to the dot net core version without too many issues?
What have people done?
I've done a handful of these already.
Functionality wise, you don't lose much going from MVC to .Net Core, the biggest differences are needing to refactor Controller+action
Html.RenderActioninto View Components, as well asResponseCacheno longer exists, and you should use the<cache>tags to do partial caching.I would leverage my MVCCaching to help aid tracking Cache Dependencies.
.Net Core is much nicer with dependency injection and Async (it's everywhere), and Kentico provides some new interfaces (IPageRetriever and IProgressiveCache) to leverage.
I would highly recommend upgrading the solution to .Net core 6.0 when you do upgrade. Sean Wright has a bunch of great articles on best practices, and you can check out Nuget Packages "XperienceCommunity.______" for various extensions, most of which myself and Sean wrote.
Hope this helps, you can also check out the KX13 baseline project on Github.com/HBSTech for a great starting point, although we are working on a revamp to this right now to incorporate nullable checks and making it easier to transition KX13 to Xperience by Kentico (next version).