I am newbie to the .NET Framework. I have some a question about .NET program execution.
If I am developing a .NET application using .NET Framework version 4.0, can that
.Net Framework is generally backward compatible, so you can load a .Net 3.5 assembly in a .Net 4 runtime, but not vice-versa.
You should target your assemblies at the lowest supported version of the runtime.
Here is some additional reading that should answer most of your questions...
https://msdn.microsoft.com/en-us/library/ff602939(v=vs.110).aspx