I've come across this problem a few times and the solution is frustratingly simple and not so obvious given the error message, so I'll note it here. After checking the obvious (making sure the file exists in the location mapped to the virtual directory) I found this support article from Microsoft. In my case, the ASP.NET Web Extension was not allowed in IIS 6. To Fix this open the MMC snap in for IIS 6.0, click on the 'Web Service Extensions' folder and ensure the 'ASP.NET vXXXX' has a status of 'Allowed', if not allow it!
For security reasons the .Net extensions are prohibited by default which is all well and good, but you'd think we could get a more helpful error message!
Jimmy