One thing that all previous answers neglected to mention, the target framework of a compiled .NET program does not include the target framework of its included libraries. It is possible to have an application targeting .NET Framework 4.8 including libraries targeting at least as old as 2.0.
I used dotPeek to view references in an application. Open the program, right click it in Assembly Explorer -> References Hierarchy