Windows 7 and Vista have the .NET 2.0/3.5 language runtime installed, so whatever you code in 3.5 will run on Windows 7 and most of it on Vista, too. But Windows 8 only delivers the .NET 4.0 CLR. When executing an assembly build with .NET 3.5, Windows 8 would need to install the .NET 3.5 runtime. This would be a contra for .NET 3.5, but a contra for .NET 4.0 would be the low market share on Windows 7 and below.
What .NET framework should be used if you want high compatibility?
According to this MSDN article you won't need to install 3.5 on Windows 8 as it is backward-compatible:
The .NET Framework 4 is backward-compatible with applications that were built with the .NET Framework versions 1.1, 2.0, 3.0, and 3.5. In other words, applications and components built with previous versions of the .NET Framework will work on the .NET Framework 4.
Also, this question might be of intrest: https://serverfault.com/questions/121563/are-net-versions-backwards-compatible.
Well, it really depends on how you intend to deploy your application. I believe using the .net 4.0 can only be a good idea, because installing a newer version of the framework is really easy, especially using the built in deployement tools in VS.
So why go for an "older" framework, when you have the possibility of using a better version ? Will you be getting any benefits from using the 4.0 instead of the 3.5 ?
I believe yes, but maybe not, in which case you could go for the 3.5
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With