For reasons that I could never figure out, the “development ASP.NET” server, which is a great little program for testing ASP.NET websites runs in 32-bit mode only. I suppose that’s because Visual Studio is 32-bit only, but seeing as how my ASP.NET server is 64-bit, I would have thought testing in the 64-bit mode would be useful as well (especially when you’ve got native components that need to be built separately for 32- or 64-bit).
However, with a bit of Reflector magic, I have managed to recompile the 32-bit only WebDev.WebServer.exe as a true MSIL executable and it can run in whatever “bitness” your OS is set to.
There are two components, the first is WebDev.WebServer.exe itself, which you can find in your Framework\v2.0.whatever\ folder, and the first is WebDev.WebHost.dll which is installed into the GAC. To get that, you need to use the command prompt, CD into C:\Windows\Assembly\GAC_32\WebDev.WebHost and so on from there.
Next, using Reflector, I exported the source files to a folder, opened it up in Visual Studio, recompiled it as a MSIL application (I had to fix up a couple of issues with references and the source that was generated) but other than that, it didn’t take long before I had a brand new WebDev.WebServer.exe up and running.
Now, I don’t know the legalities of me redistributing the files I created, so I’m not going to do that. The steps I described above are feature high-level, but if you follow them, it shouldn’t be too difficult to generate your own version. If you have problems, leave a comment and I can expand my steps.
I guess the only draw back is that you don’t have built-in support from Visual Studio for running your site (I’ve just set up a short-cut on my desktop which I run to start the server, then attach Visual Studio to it to debug).
However, the advantage to all of this is that I can now debug my 64-bit web apps without running them under IIS (which, on Vista with UAC means I don’t need to run Visual Studio as an Administrator)