Now that asp.net 2.0 has very nice support for xhtml those of us who care (or are anal about, you choose) about having pages validate were looking pretty smug. However, there's a problem that was there in beta 1 and is still there in beta 2; the w3c validator is treated as a down level browser and is served invalid xhtml. As asp.net 2.0 doesn't know about the w3c validator user agent it gets things wrong, viewstate isn't wrapping in a div, adds a name attribute to the form tag, control validators have font tags and other little niggles. The bug logged talks about creating a browser capabilities file, but doesn't supply one. So here it is, w3cvalidator.browser.

In order to use it right click on your asp.net project and choose "Add new directory". You'll see the list of special directories which includes "App_Browsers". Select that option then drop the w3cvalidator.browser (taking away the .txt extension) file into the new directory. Recompile and deploy. Now the w3cvalidator will be detected properly and xhtml served.