navigation
 Tuesday, April 15, 2008

This past weekend I finally decided to take the plunge and upgrade my Windows Vista Home Premium to Vista Ultimate on my desktop machine, mostly because I wanted to be able to use Remote Desktop, and the home versions don't include it.  I did a fair amount of research, trying to reassure myself that I wouldn't have to do a complete rebuild, but even so, I did a full system backup to my 500G external hard drive just to be sure. 

Actually, the upgrade was easier than I expected.  The Vista DVD did all the work, and, as advertised, everything looked exactly the same afterwards, except for the neat little "Vista Ultimate" logo at startup, and of course the ability to use Remote Desktop.  My biggest concern was that Visual Studio would have something lost or missing among its seemingly endless settings, so I re-ran a few of my recent Web Application projects and they all worked fine, so I was thrilled!  I left for the rest of the weekend feeling confident about the whole thing.

Returning to my desk on Monday, I attempted to make some minor changes to a rather large project in Visual Studio, and immediately encountered a weird runtime error:  "Child nodes not allowed" for the following line in my web.config file.

<providerOption name="CompilerVersion" value="v3.5"/>

Since I just knew that everything had been okay with Visual Studio when I left, I figured it had to be a change in this particular project, but I couldn't find anything different.  Finally, I created a brand new, blank project using .NET 3.5, and had the same problem!  But a version 2.0 project, which unfortunately was what I had tested with after upgrading, worked fine.  I initially thought that somehow my 3.5 version of the framework had miraculously uninstalled itself, but it was still there!  Also, Visual Studio still gave me the option to use 3.5, so it was obviously recognized - what was going on?  By this time I pretty much knew it was due to my Vista upgrade, but several dozen Internet searches later, I still couldn't find any solutions.  Finally I stopped looking for anything to do with Vista upgrades and searched for problems with web.config and the child node error and finally came across this post on the ASP.NET forums site - I think it saved me from undoing the whole upgrade and starting over! 

There are 2 patches, located on the Visual Studio installation disk, which normally install during initial setup, but somehow got removed or overwritten during my upgrade, apparently.  According to the post, they should be installed in the following order:

  1. NetFX2.0-KB110806-v6000-x[64 | 86].msu

  2. NetFX3.0-KB929300-v6000-x[64 | 86].msu

from the WCU\dotNetFramework\dotNetMSP\[x64 | x86] directory on the CD.

I applied the patches, restarted, and my problem was solved - I can once again run my .NET 3.5 applications from Visual Studio!  Hopefully this will help anyone else who has this problem not have to look as long for the solution as I did!