Main menu

SmartFeed by FeedBurner Subscribe to the site feed.


If you find the information here useful, then please consider a small donation, or linking to this site.

Recent Comments

Recent Tweets

  • RT @robmargel: http://tinyurl.com/y8tcrhr - Parental Controls in Windows 7 and Windows Vista ^MW practical advice for parents
  • Just caught up for a coffee with an old friend at Microsoft UK (we were grads together 15 years ago... now I feel /really/ old)
  • Grrr... I paid £5 to respond to an ad on preloved.co.uk and the advertiser didn't even respond. There's a site to avoid in future...
  • [blog] Safer Internet Day: Educating parents on Internet safety for their children http://bit.ly/c0s8Jt
  • European Safer Internet Day: ChildLine's advice on staying safe online - parents might want their kids to read this: http://bit.ly/92HY9C

Calendar

October 2009
M T W T F S S
« Sep   Nov »
 1234
567891011
12131415161718
19202122232425
262728293031  

Archive

A quick guide to Microsoft .NET Framework versions

Written by: Mark Wilson

Microsoft .NET logoI’ve never really understood why certain applications require installation of the Microsoft .NET Framework, even though there’s already a version included within the operating system. Surely each version of the framework includes previous versions? Well, it seems not – as David Allen from the Microsoft UK ISV Developer Evangelism Team explained to me recently:

  • The original version of the Microsoft .NET Framework (v1.0.3705.0) was released in 2002. Version 1.1.4322.573 updated both the framework and the common language runtime (CLR) and was included within Windows Server 2003.
  • With version 2.0.50727.42, Microsoft again updated both the framework (classes) and the CLR but this version was incompatible with v1.x and the two could be run side by side on the same system.
  • It’s logical to think that v3.x (a major release) would also include a new CLR but 3.0.4506.30 (which shipped with Windows Vista and Windows Server 2008) and 3.5.21022.8 (shipping with Windows 7 and Windows Server 2008 R2) add new framework classes but use the existing v2.0 CLR.
  • The next version will be 4.0 and is currently in beta. This will include a new CLR and will run side by side with v1.x and v2.x/3.x installations on the same system.

It’s no wonder I was confused – it’s a complete mess! A .NET Framework application that requires v2.0 will happily run on a system with v3.5 but a v1.x application needs v1.1 to be installed, and a v4.x application will require v4.0. It’s entirely feasible that, in the near future, a Windows 7 machine may need v1.1, v3.5 SP1 and v4.0 to all be installed to support different applications.

To find out which versions are installed on a given system, take a look in the %systemroot%\Microsoft.NET\Framework folder. Futher information on the various releases of the Microsoft .NET Framework (including service packs) is available on MSDN.

Comments

1

Comment from Neil Blackburn
Time: Monday 12 October 2009, 22:15

Hi Mark,

I thought a v1.x or v2.0 application would run on a machine with only v4.0 installed as each framework version is backward compatible (providing the application doesn’t target a specific version)?
I guess my scenario would be a rare occurrence anyway.

Cheers,
Neil Blackburn

2

Comment from Mark Wilson
Time: Tuesday 13 October 2009, 0:35

I thought that too Neil, but it seems that’s not the way it works. Each time there’s a new CLR, it’s installed alongside the previous version, meaning that if your app wants, for example, version 1.1, then you’ll need to install it – even if you already have v3.5 installed. On the other hand, because the CLR has not changed between v2.0 and 3.5, v2.0 apps will run under v3.5 but that will change again at v4.0 as it introduces a new CLR.

Write a comment

Please note the rules for comments and the privacy policy and data protection notice. I'm sorry but, because not everyone sticks to the rules, I've had to implement some spam prevention measures - if you're experiencing difficulties leaving a comment, please let me know.





The following XHTML tags may be used: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>