.net framework versions (or what runs what?)
OK, this is rather broad question but ... Is there a chart that says what version of the framework will run what?

So, I guess it brakes down into two questions

1 - Are the frameworks 100% backward compatible? I've had a Framework 2.0 Website run 1.1 dlls, so I assume 2.0 will run 1.1.  Will this work for windows app?  Will it work for all version?

2 - Is a framework ever forward compatible?  I know the reverse of above will not work but will it work for any set of versions?

So, how important is it to keep the versions on your clients' machines compared to your build version?  

Is there a best pratice in the .net community on how to make your software work for the most number of clients without forcing non-technical users to download newer/different versions of the .net framework?
.net framework versions (or what runs what?)
===

OK, this is rather broad question but ... Is there a chart that says what version of the framework will run what?

So, I guess it brakes down into two questions

1 - Are the frameworks 100% backward compatible? I've had a Framework 2.0 Website run 1.1 dlls, so I assume 2.0 will run 1.1.  Will this work for windows app?  Will it work for all version?

2 - Is a framework ever forward compatible?  I know the reverse of above will not work but will it work for any set of versions?

So, how important is it to keep the versions on your clients' machines compared to your build version?  

Is there a best pratice in the .net community on how to make your software work for the most number of clients without forcing non-technical users to download newer/different versions of the .net framework?