When we migrated, we did so enthusiastically and naively. Future technical debt in our ASP.NET Core services wasn’t on our mind (they were brand new after all!), and we certainly didn’t spend a lot of energy thinking and planning maintenance. Then a new version on ASP.NET Core came out, and suddenly we had a lot of work to do if we wanted to stay up to date. We lagged behind two versions when we did the second migration, and there were several breaking changes that had been announced well in advance – that we could have been prepared for.
A poorly planned and unmanaged ...