Per Microsoft:
"The version of the .NET Framework that an application runs on is determined as follows:
"If the version of the .NET Framework that the application was built against is present on the computer, the application runs on that version."
Was the website compiled to target .NET 2.0?
To verify the framework version and CLR version that is targeted, there is a utility, corflags.exe, that you may use. For the bin folder where the assemblies are located, run the following command:
for %i in (*.exe,*.dll) do corflags.exe %i
It will display, among other things, the .NET Framework version that the assembly is targeting. Note that you may also use corflags.exe to modify the PE header of the assemblies to target the .NET 4.0 CLR version, but you are probably better off recompiling for .NET 4.0 in Visual Studio.
How to: Use an Application Configuration File to Target a .NET Framework Version
http://msdn.microsoft.com/en-us/library/9w519wzk.aspx
supportedRuntime Element in app.config
http://msdn.microsoft.com/en-us/library/w4atty68.aspx
https://stackoverflow.com/questions/2961600/app-config-supportedruntime
Corflags information:
https://blogs.msdn.com/b/gauravseth/archive/2006/03/07/545104.aspx
http://msdn.microsoft.com/en-us/library/ms164699%28v=vs.80%29.aspx