Vista RC1 and .NET 3.0 – Trouble in Paradise

Published 14 November 06 02:36 PM

So it's still a few days until Vista RTM becomes available internally, so for the moment I'm still running the RC1 build. Obviously there are some non-trivial bugs in RC1, but I've been through therapy and am somewhat at peace with them (having been assured that they will be fixed in the RTM). However, I discovered another rather annoying quality this morning that sucked up enough of my time to make it worth posting about.

Here's the synopsis – I've been doing some research recently on the new document formats for Office 2007 documents. This morning, I decided to do some programmatic generation of Word. Since the new Office documents are actually zip files, the recommended way for browsing and manipulating document parts is to use the classes contained in the System.IO.Packaging namespace. So first, after a little digging (not too much, but more than I expected), I discovered that the System.IO.Packaging namespace is actually found in the WindowsBase.dll assembly that is distributed with .NET 3.0. No problem there – after all, .NET 3.0 is distributed with Vista – and I'm running Vista! Simple enough, right?

Therefore, I fire up Visual Studio, create a test harness application and jump over to references so that I can add the WindowsBase assembly. Where is it? Not in my references window. Hmm – was I mistaken about .NET 3.0 being deployed with Vista?? I open the GAC shell viewer – there's the WindowsBase assembly. Weird. Oh well, I'll just find the binary on the file system and add the path to my AssemblyFiles registry key. Therefore, I run a search on the file system for the WindowsBase.dll. NOTHING! Lovely.

So it seems like, at least as of Vista RC1, some of the .NET 3.0 assemblies are deployed directly into the GAC but do not seem to be represented on the file system. I'm quite interested to see if this changes in RTM.

Oh and by the way, you can't just download the RTM version of .NET 3.0 and install it. Since .NET 3.0 is now considered part of Windows Vista, you have to go through the "Windows Components" functions in Control Panel – and I suppose that as of now, .NET 3.0 runtime RTM is not yet a part of Windows Update! If you download the .NET 3.0 setup exe and try to run it, it will halt installation once it realizes that it's running on Vista and tell you to go through the control panel.

Now, there may be a very straightforward way to fix this (like install Vista RTM <g>), but at this point, I was frustrated past the point of caring. Therefore, I simply opened the console and performed the following atrocity.

Yikes!

PS – I've also tried to post a picture with this entry…fingers crossed…

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Kevin Daly said on November 14, 2006 7:53 PM:

Try looking in "Program Files\Reference Assemblies\Microsoft\Framework\v3.0"

(Or whatever the equivalent path is in Vista)

# _howard said on November 14, 2006 7:59 PM:

ah - and there it is!

It looks like I need to play with desktop search in Vista - I can search directly from within "Program Files" and it still doesn't find it!

At any rate - thanks for the pointer!

# Daniel said on November 15, 2006 6:01 AM:

I had the exact same problem after installing .NET 3.0 RTM on XP SP2, and found the same solution.

Another possibility is to install the Visual Studio extensions and create a new WPF application. The project template includes the reference.

# Doug Mahugh said on December 15, 2006 1:34 AM:

OK, what's the deal with WindowsBase.dll? It's the dll where the System.IO.Packaging API lives, and you

Leave a Comment

(required) 
(optional)
(required) 

  
Enter Code Here: Required

About hdierking

I am currently the Editor-in-Chief for MSDN Magazine. I joined Microsoft in 2006 as a product planner with the certification team at Microsoft Learning. Prior to that, I spent my career as a developer and later as an architect. My main technology passions include pretty much anything on language theory, agile development, and service-oriented architecture.
Page view tracker