Windows SDK 7.1 on a build server

Apparently, there is a bug in the Windows 7.1 SDK where registry values aren't set correctly.  This causes the lookup for the location of the v2.0 build tools to fail which means that v4 build tools get used.  This wasn't causing an issue until we started deploying clickonce applications that used a dll that had an XmlSerializers assembly created for it to computers that did not have .NET 4.0 installed.  When the clickonce installer got to the XmlSerializers assembly, it failed to read the manifest because the assembly was for a newer version of .NET than what was installed on the machine.

In our case, fixing the registry as mentioned in the article linked above resulted in an XmlSerializers assembly generated for .NET 2.0, which is what we want.  Since it's a hassle to dig through the registry, I've created two registry files that contain the fix for 64 bit machines.  These files are for the Windows SDK v7.1 only!  If this isn't the version you're developing with, you will most likely break your build tools if you use them.  Also, since these files will modify your registry, do the prudent thing and verify that you understand the changes that they'll make.

ASP.NET State Service missing

I recently ran into an issue where after deploying a web application to a web server, I got the Yellow Screen of Death.  I opened the site on the server and it turns out that the ASP.NET State Service was not running.  Sigh.  Everything was working before so I figured I'd just need to start the service.  Except, the service was gone!

The server had recently been taken down for a short period of time so that a snapshot could be taken of it.  Is it possible that caused the problem?  I'm not really sure.

I ran across this blog post that suggested just re-registering ASP.NET with IIS would fix the problem.  This server isn't in production yet, so I was fine trying the method.  Luckily, it worked and the service was once again installed.

To re-register ASP.NET, open a command prompt as administrator, change directory to the version of .NET you want to register, and run the following commands:

aspnet_regiis.exe –u 
aspnet_regiis.exe –i
aspnet_regiis.exe –c

Speeding up ASP.NET development

Getting an SSD makes a huge improvement in working with .NET projects, but there are other things you can do to speed up your development.  I came across this blog post a little over a year ago and it's got some great suggestions on optimizations you can make to improve your development experience.

I especially liked the idea of compiling the Temporary ASP.NET files to a ramdisk.  Once I set that up, I started creating my development databases on the ramdisk as well.  Since I only work with a very small set of data while developing, I was able to get away with a 523MB ramdisk.  Enough to hold the compiled files and my databases, but not so much as to eat up ram needed for other things (like Visual Studio!)

Do any of you have suggestions on how to improve the speed of development using ASP.NET?