Minor correction to above, v9.04.00 is when the .NET 4.7.x requirement came in to play.
Besides having backups, we do 2 things to make upgrading *not* become a time-consuming job.
1) update modules first to the latest version*
2) use upgrade path and notes here:
* unless you are on a very old version and a module has set a min DNN version requirement higher than you are currently at. There are quite a few examples of this where (recently) many developers set the minimum to DNN v8.