If you need 3.5 for your program to run but it does run with 2.0, then I think that something is wrong in what you are doing. You'll have to verify you compile/build options and your configuration file.
You might also want to read bout redirecting assemblies particulary if you can fix problem that prevent your application to run under different versions:
http://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx[
^]
The choice really depend first on what you are using in your code, which OS you target and if you want your user to use a specific version or allows any compatible versions.
But given that we have no idea on what is your problem with 2.0 and we have no information on why it load, we are not sure what you should try first.
By the way, which version of Visual Studio are you using? We also have no idea if your application was generated with default settings on that version or if you have upgraded Visual Studio or change .NET target version or modify other settings or prerequisites.
So without informations, we cannot help you much that what other have already did.
Why not just get the version from the Framework itself. A simple Google search and you can find it in seconds:
http://msdn.microsoft.com/en-us/library/system.environment.version(v=vs.110).aspx[
^]