.NET Framework 3.0 and 3.5

It may seem counterintuitive to say that ASP.NET is still at version 2.0 when VS2008 comes with version 3.5 of the .NET Framework, but it is true: the version number for the System.Web assembly in which ASP.NET sits has changed only in its minor version, from v2.0.50727.42 in .NET 2.0 to v2.0.50727.1434 in .NET 3.5. Rather confusingly, Microsoft decided to use the release of .NET 3.0 and .NET 3.5 to indicate the addition of new libraries to the framework rather than any specific updates to what was already there. Figure 1-1 shows the basic makeup of the .NET Framework 2.0 for ASP.NET developers.

The .NET Framework 2.0 stack

Figure 1-1. The .NET Framework 2.0 stack

November 2006 saw the release of .NET 3.0, a superset of .NET 2.0 in which the only change apart from the inclusion of interim bug fixes was the inclusion of the four WinFX libraries being developed in parallel for the launch of Windows Vista:

Windows Presentation Foundation (WPF)

Targeting mainly Windows Forms developers, WPF hasn’t directly affected ASP.NET development. However, Microsoft has released a cross-platform browser plug-in hosting its own subset of the .NET runtime and WPF, originally known as WPF/Everywhere. Rechristened Silverlight, the 1.0 plug-in uses JavaScript as its main language. Silverlight 2.0, however, incorporates support for C# and VB.NET and will be a central focus for the next release of .NET after 3.5 as a cross-browser, cross-platform .NET runtime.

Windows Workflow Foundation (WF)

WF allows developers to write workflow-enabled applications. Or rather, having designed the workflows of an application, WF allows the developer to create the application directly, as a series of steps creating those workflows rather than as a set of objects that incidentally go through those steps.

Windows Communication Foundation (WCF)

A reworking of the web service and interoperability stack, WCF impacts ASP.NET developers through the way it implements SOAP, WSDL, and the WS-* set of standards previously implemented as Microsoft’s Web Service Extensions download.

Windows CardSpace (WCS)

WCS provides a new way for Windows users to provide their digital identity online in a simple, secure way. If you use Passport to verify your users online, you might consider replacing it with WCS at some point. However, the uptake on this so far has been slow.

Figure 1-2 demonstrates how the WinFX libraries are bolted onto .NET 2.0 to produce .NET 3.0. When Windows Vista was released two months later in January 2007, it included .NET 3.0 by default.

The .NET Framework 3.0 stack

Figure 1-2. The .NET Framework 3.0 stack

.NET 3.5 is again a superset of .NET 3.0 but with a bit more meat for web developers to chew on. Once again, at its core there is just a bug-fixed version of the .NET 2.0 runtime and core libraries, as shown in Figure 1-3, but on top of that are the following items of interest for web developers.

The .NET Framework 3.5 stack

Figure 1-3. The .NET Framework 3.5 stack

C# 3.0 and Visual Basic (VB) 9.0

.NET 3.5 includes new versions of C# and Visual Basic .NET, with the majority of the new language features—anonymous types, lambda functions, anonymous methods, and more—being combined to support LINQ.

Language Integrated Query (LINQ)

LINQ is a set of .NET extensions that allow the user to query, set, and transform data from any type of data source natively in C# or VB. For example, you could join the contents of a SQL Server table with data from an in-memory data table and put the results into an XML document in one line of code. It is very powerful, and is limited only by the types of data sources for which there is a corresponding LINQ library. Indeed, several third-party libraries are already in the works for less obvious data sources, such as NHibernate and SharePoint.

System.Web.Extensions

A companion to the core ASP.NET 2.0 library, System.Web.Extensions includes an updated version of the ASP.NET 2.0 AJAX Extensions download so that AJAX is supported out of the box with .NET 3.5, three new controls for ASP development—the ListView, DataPager, and LinqDataSource —and a new security feature called Client Application Services that allows your smart client applications to use a centralized user database on the Web using the same personalization methods as ASP.NET.

Tip

Remember that at any time, you can find out what version of a .NET assembly you are using by looking in %windir%\assembly.

Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.