If you havn't already, try clearing the ASP.NET assembly cache. First shut down all the web servers on your machine (usually only IIS and/or VS's). Now delete all the files and subfolders in the cache folder (<WINDOWS>\Microsoft.NET\Framework\>FRAMEWORK VERSION>\Temporary ASP.NET Files). If some of the files are locked you still have a web server using them, sometimes I've found that even VS will lock these files so try shutting down VS as well.
This cache is where ASP.NET copies/builds all the assemblies it uses to actually run the code. I've often found that when bad things happen during development that this cache gets either out of sync or otherwise messed up. Deleting all the files causes ASP.NET to rebuild/recopy all the assemblies from the web site folder and often all is well.
Also, when using a "File System" based web site as it sounds like you are I find it useful to setup the site to use a "static" port number so it doesn't change on you. In VS select the web project in Solution Explorer and look at the Properties window. You will see a "use dynamic ports" property that is True by default. If you set this to false it will always use the port in the "Port Number" property.