"ASP.NET 2.0 Web Server Here" Shell Extension
I've been doing some web development work again lately, and I haven't wanted to screw with setting up IIS on my virtual machine. The .NET Framework 2.0 comes with a built-in webserver, based on the old Cassini web server. So I wanted to be able to easily set up any directory to have its contents served up on an as-needed basis. The result is an addition to the Windows Explorer right-click menu, as shown below:
This is enabled by a simple modification to the registry. You can take the text below and dump it into a file named "WebServer.reg", and then run it, to immediately get the item in the context menu.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\VS2005 WebServer]
@="ASP.NET 2.0 Web Server Here"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\VS2005 WebServer\command]
@="C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\Webdev.WebServer.exe /port:8080 /path:\"%1\""
There are a couple caveats to this tool, however:
- The web server does not randomly assign a port number, so it has to be hard-coded into the registry.
- The web server does not automatically assign a virtual directory, so it will always be "http://localhost:port"
- A command prompt window will be spawned, and cannot be closed without closing the web server process.
Moving foward, there are a couple of options to fix these issues:
- Someone who knows more about variables in the registry can help me fix issues #2 and #3
- I can build a wrapper executable that solves all three problems
- Microsoft can put in a DCR and fix it before it goes gold in a few days.
#3 is not likely, so I'd love to hear what you think. Hope this trick is useful.