In all the columns I’ve written for PC Pro so far, I’ve concentrated on .NET 2, discussing and demonstrating some of the tools and facilities provided in the latest production version, released in November 2005. But time – and the Microsoft development team – moves on, so this month I’ll be looking at the recently announced .NET 3, previously known as WinFX, which will be included as part of both Vista and Longhorn Server.

Microsoft has so far been positioning .NET as an add-on for existing operating systems – you must download the .NET redistributable package, copy it to all your computers and run the installation package before you can use any .NET applications. The error message you’ll receive if you try to run a .NET application without the framework installed is less than helpful, and you also need to be aware of which versions of the framework your application needs. You might have to install both 1.1 and 2, although fortunately they can work side-by-side.
So until quite recently, .NET hasn’t been supplied with the OS, and this has presented at least a small obstacle to its wider adoption. But all that now changes, as .NET 3 will be delivered as part of the OS. For Windows Server 2003 R2, Microsoft installed .NET 2 by default as part of the OS install, and this trend continues with Vista – the latest CTP beta release of Vista has .NET 3 installed by default.
Before examining the full story of .NET for Vista, it’s worth spending a moment to reflect on how we got where we are. At the first Longhorn PDC in September 2004, Microsoft unveiled Longhorn (as it was then known) to the world, and in a series of sessions the company explained the “Three Pillars of Longhorn”: the Indigo communications layer, the Avalon presentation layer and WinFS filestore layers. It wasn’t made entirely clear at that time, but these three pillars were additional functionality to be included in .NET. As time went by, these codenames morphed, Indigo becoming Windows Communication Foundation, while Avalon became Windows Presentation Foundation. Over time, Microsoft added Windows Card Services (previously known as InfoCard) and Windows Workflow Foundation, which are more recent additions to the Vista .NET stack.
WinFS was removed as a core part of Vista last summer, although at that time Microsoft was promising it would continue to be developed “out of band” and be delivered later as a download. Sadly, this wasn’t to be: this June, Microsoft announced that WinFS has been cancelled, although some of its features and technologies may make it into Katmai (codename for the next version of SQL Server – probably 2010 at this rate) as well as ADO.NET. The long-promised fully relational file system appears to be dead.
At around the time of the 2005 PDC, Microsoft began calling this ever-changing bundle of technologies WinFX. I spoke to Steve Schwartz at the 2005 PDC about this name and he told me the idea was to put these technologies into perspective – Vista and Longhorn weren’t really about Avalon or Indigo as such, but about the “total WinFX experience”. Instead of concentrating on codenames for individual cool technologies, we should be looking at WinFX as a holistic combination of cool technologies that we can use as a package to develop rich, new applications.
However, the name WinFX was quickly misunderstood, as Ian Moulster of Microsoft UK explained in a blog post, where he admitted that communicating just what WinFX means has been hard work, certainly not helped by all of the out-of-date material on Microsoft’s website and the continual content changes. Microsoft VP Soma Somasegar notes that: “[people say] WinFX sounds great but what happens to .NET? Developers know and love .NET!” He then goes on to explain that: “The .NET Framework has always been at the core of WinFX, but the WinFX brand didn’t convey this… The [WinFX] brand also created an unnatural discontinuity between previous versions of our framework and the current version.”
Disclaimer: Some pages on this site may include an affiliate link. This does not effect our editorial in any way.