Backward compatibility means that an application 
that is developed for a particular version of a platform will also run on the 
later versions of that platform. The .NET Framework tries to maximize the 
backward compatibility: Source code written for one version of the .NET 
Framework should compile on the later versions of the .NET Framework, and the 
binaries that run on one version of the .NET Framework should behave identically 
on the later versions of the .NET Framework.
.NET Framework 4.5 and its point releases are 
backward-compatible with apps that were built with earlier versions of the .NET 
Framework. In other words, apps and components built with the previous versions 
will work without modification on the .NET Framework 4.5 as well. However, by 
default, apps do run on the version of the common language runtime for which 
they were developed, so you may have to provide a configuration file to enable 
your app to run on the .NET Framework 4.5. 
?  Note that the .NET Framework 4.5 is not 
supported on Windows XP.
? .net 4.5 comes automatically with windows 8
? .net 3.5 sp1 comes automatically with windows 
7 sp1