Version .net 4.5 is an in-place upgrade.
This means that binaries for .net 4.0 will be REPLACED by binaries for .net 4.5 .
Microsoft tried to mitigate the problems by creating the "Target.net 4.0" feature. But this is very different from targeting previous versions of .net (which were next to .net 2.0).
Since this update is in place, Target.net 4.0 cannot really configure it. The best they can do is try to manually remove some of the "features". They did it (Scott Hanselman had a blog post saying that).
But don't let this fool you into thinking that you are really using .net 4.0. Any bugs fixed with .net 4.5 will be fixed on your development machine, not for your users.
So, if you are developing the ".NET 4.0 targeting" application and you have .net 4.5 installed, you run the risk. If you accidentally use a fixed error, it will not break for you during debugging.
When you deploy the application on a machine that works only with .net 4.0 (for example, windows xp), these errors are not fixed for your user .
For all purposes and tasks, these fixed bugs are now "Hidden bugs" (for developers who still need to target .net 4.0.
The best part is that it doesn't matter if you use VS 2010 or VS 2012. After installing .net 4.5, the errors are hidden.
See this post for more details: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c05a8c02-de67-47a9-b4ed-fd8b622a7e4a/
Vaccano
source share