Friday, February 15, 2008

Applying Vista SP1 caused VS 2008 compiles to fail (includes fix)

Being a Microsoft Developer Network subscriber, yesterday I was able to get my hands on the new Vista Service Pack 1 (SP1), which includes hoards of fixes and performance tweaks.

The install went well, but is slow.  It probably took an hour to install, but that was only after an hour to uninstall the SP1 Release Candidate that I had previously installed.

The biggest pain was having to tell my virus protection software that every file that changed on my PC was OK.  I wish there was an easy way to do that globally.

Anyway, the only anomaly I discovered was that Visual Studio 2008 started coming up with compile errors after applying SP1.  It indicated a problem in the web.config file, on these specific lines:

<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
    <
providerOption name="CompilerVersion" value="v3.5"/>
    <
providerOption name="OptionInfer" value="true"/>
    <
providerOption name="WarnAsError" value="false"/>
</compiler>

The error message stated that the tag could not have nested child tags.  The catch-22 is that removing the child tags would remove all support for .NET 3.0 and 3.5 functionality, so that was not the solution.

This really had me stumped for quite a while, until I discovered this post:

http://forums.asp.net/t/1186941.aspx

I ran the two patches indicated in the post (rebooting after installing the first one), and that solved the problem.  What's going on Microsoft?  This is really strange.  I have no idea what those patches install, but they did the trick.

As far as SP1 is concerned, if you installed the Release Candidate, you already have a good idea of the performance improvements and increased stability you'll get.  The best part was getting rid of the annoying "Evaluation Copy" watermark on the screen.

Props to Microsoft for getting SP1 into its MSDN subscribers' hands before they said they would, but hopefully you've learned your lesson never to roll out a service pack like that again.  Treat your MSDN subscribers like first class citizens!