views:

126

answers:

2

There was a time that I thought the current non-beta ASP.NET claimed the version number of the current .NET CLR (2.0), even though the .NET Framework was version 3.5. Whenever I saw "ASP.NET 3.5", I felt that whomever had written it was incorrect.

However, I'm starting to feel that I'm incorrect. Has the official ASP.NET version number changed from 2.0 to 3.5 (during the time that the .NET Framework version has been 3.5), or has it always officially been "ASP.NET 3.5" (and I've been an idiot)?

+2  A: 

Yes, ASP.NET 2.0 and ASP.NET 3.5 are different. 3.5 is the most current non-beta release. Both 2.0 and 3.5 use the 2.0 runtime environment.

Kevin
+9  A: 

In terms of the CLR, there is only 2.0; in terms of the libraries, there are definite changes in ASP.NET in the .net Framework versions 2.0, 3.0, 3.5 and 3.5 SP1 (see MSDN, for example).

Since there are feature changes, I would call it "ASP.NET 3.5".

However, to make things worse, the drop-down box in IIS where you can select either "1.1..." or "2.0...." is called "ASP.NET version". Of course, IIS is referring to the CLR version here.

I've been unable to find an "official" statement on this (I haven't looked hard, though). Microsoft seems to avoid this problem. In the above MSDN link, they write about "ASP.NET Enhancements in .net Framework 3.5 SP1".

So, strictly speaking, I guess ASP.NET does not have a version number, just like WinForms does not have a version number or System.String does not have a version number. "ASP.NET 3.5" is just an informal abbreviation for the ASP.NET part of the .net Framework 3.5 libraries.

Heinzi
And just as an added odd note, the next version of .Net is going to be .Net 4, not 4.0. Also of note is that version 4 is an upgrade to the CLR, so you'll see a new value in the drop down list of 4.
Dillie-O
More evidence: `RuntimeEnvironment.GetRuntimeDirectory` returns `C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727` even on ASP.NET 3.5, and `C:\WINDOWS\Microsoft.NET\Framework\v3.5` does not contain any ASP.NET command line tools.
Christian Hayter
@Christian: Good observation! That's not specific to ASP.NET, by the way: A .net 3.5 console application will *also* return the v2.0.50727 directory. `GetRuntimeDirectory` returns the CLR directory and the CLR version used to execute applications developed for the 2.0-3.5 framework is 2.0.
Heinzi