ASP.NET Version Madness

With the impending release of Visual Studio 2008 and Visual Web Developer 2008, along with the .NET Framework 3.5, there is a bit of confusion around version numbers for ASP.NET. Before I get too far into this, let me just say right now that this post has little hope for clarifying things too much, but at least you won't feel so alone in your confusion.

If you've already installed one of the betas of the 3.5 Framework, you may have noticed that the C:\Windows\Microsoft.NET\Framework\v3.5 directory doesn't contain all of the files you would normally see in a .NET Framework release. In fact, the .NET Framework 3.5 is not a full release like version 2.0 was, or even like 1.1 was for that matter. Instead, version 3.5 kind of sits on top of version 2.0 and adds new features (significant new features) to the existing Framework.

How exactly does the 3.5 version affect ASP.NET developers? You'll get new features (like the AJAX Extensions built-in and LINQ features) and you'll get some fixes that we rolled up into the 3.5 Framework. Technically, however, you don't have a new version of ASP.NET. In fact, if you look at a standard ASP.NET error message after installing the 3.5 Framework, you'll see the ASP.NET version reported as 2.0.50727.xxxx.

Here's a bulleted list of some facts that apply after an install of the 3.5 Framework that may not seem intuitive:

  • You won't find ASP.NET 3.5 listed in the ASP.NET configuration dialogs for IIS. Application pools will still be configured to run ASP.NET 2.0.50727.
  • If you need to run aspnet_regiis, aspnet_compiler, etc., you'll still run them from the C:\Windows\Microsoft.NET\Framework\v2.0.50727 folder.
  • In order to use AJAX Extensions and the new LinqDataSource control in Visual Studio or Visual Web Developer 2008, you'll need to configure your project to target the .NET Framework 3.5. (See the docs that ship with your respective product for details.)
  • ASP.NET error pages (non-custom) will still report the ASP.NET version as v2.0.50727.xxxx.
  • Script maps in IIS will still be mapped to the 2.0.50727.xxxx version of the aspnet_isapi.dll.

With that in mind, you're probably thinking that we will continue to refer to ASP.NET as ASP.NET 2.0 after Visual Studio 2008 and Visual Web Developer 2008 release, right? Wrong! The official name for ASP.NET will be "ASP.NET in the .NET Framework 3.5", but the shorthand name is simply ASP.NET 3.5. But don't be confused. ASP.NET 3.5 is really ASP.NET 2.0 with the .NET Framework 3.5 installed running ASP.NET 2.0 binaries, even if your ASP.NET project in Visual Studio is targeting the .NET Framework 3.5. :)

Hopefully that clears up some of the confusion for ASP.NET developers. If it doesn't, there's always therapy.

Jim

Comments

  • Anonymous
    September 25, 2007
    PingBack from http://www.artofbam.com/wordpress/?p=2894

  • Anonymous
    September 25, 2007
    Thank you! This helps more than you can imagine :).

  • Anonymous
    September 27, 2007
    To add to the madness, the new language is called C# 3.0

  • Anonymous
    November 26, 2007
    Thanks for saving me a lot of google/MSDN time.

  • Anonymous
    January 22, 2008
    You just saved me hours of research. thanks man

  • Anonymous
    June 07, 2008
    I just typed the address in rather than try to browse to it. I should have done that from the beginning Of course I couldn't find it at first -  at least I learned where the files reside. Its working fine.

  • Anonymous
    October 03, 2008
    ASP.NET 3.5 applications won't work, and there was no errors in installation. I'm running Windows Vista Ultimate with IIS7. I understand your article, but this stuff is fake in lots of accord. ASP.NET is 3.5 and so is .NET, Microsoft denied that ASP.NET won't work on Vista, but only Windows Server 2008. Your only lucky if it works by trying the right combination of things. For instance Linq, won't function as IIS7 gives ASP.NET 2.0 arguments to the 3.5 framework, so IIS7 doesn't know how to bridge these libraries, making it not function. You could try SP1 (2007) for Vista. But the 2006 release of Vista with IIS7 does not function. I'm still looking for a way around. Heavy stuff, is ASP.NET.

  • Anonymous
    December 18, 2008
    Thanks a lot, you saved me time anda time.. One question is that true asp.net 3.5 ins not working on windows Vista?