We have a legacy project which has been untouched and unloved for many years.
Then we needed to make an urgent change.
The problem was that the people who had worked on the project were long gone and nobody knew if the source in the repository was up to date?
So we took a copy of the web site,
You can't just compare this to the VS project. In VS, you have an aspx file and a corresponding cs file. In the web site, the aspx files are there but the cs files are all rolled up into a dll.
You can't directly compare dll either. There's guids, dates etc. that keep changing every time you do a build.
The way to do this is to deploy your current project to IIS and then compare the two web sites.
You still have the problem of comparing the dll files in the \bin directory.
To do this, decompile the dll into a VS project using something like Reflector or dotPeek and then compare the source code.
Some of the names will be different e.g. "isComplete" vs. "flag1" but it will give you a pretty good idea of whether there have been code changes,