Por Microsoft:
"A versão do .NET Framework em que um aplicativo é executado é determinada da seguinte maneira:
"Se a versão do .NET Framework em que o aplicativo foi criado estiver presente no computador, o aplicativo será executado nessa versão."
O site foi compilado para segmentar o .NET 2.0?
Para verificar a versão do framework e a versão do CLR que é direcionada, existe um utilitário, corflags.exe, que você pode usar. Para a pasta bin na qual os assemblies estão localizados, execute o seguinte comando:
for %i in (*.exe,*.dll) do corflags.exe %i
Ele exibirá, entre outras coisas, a versão do .NET Framework que o assembly está direcionando. Observe que você também pode usar corflags.exe para modificar o cabeçalho PE dos assemblies para direcionar a versão .NET 4.0 CLR, mas provavelmente é melhor recompilar para .NET 4.0 no Visual Studio.
Como: Usar um arquivo de configuração de aplicativo para direcionar uma versão do .NET Framework
link
supportedOrdem de tempo de execução no app.config
link