Forward compatibility means that an application can be compiled and run on both later and earlier versions of the .NET Framework.  Can your application, compiled using VS2005 (.NET 2.0) run without any problems on .NET 1.1?  If yes, it’s forward compatible.  I know, it sounds backwards (no pun intended), but, “forward compatibility means that an application created using a later version of the .NET Framework will run on an earlier version.”

 

Backward compatibility means that an application is compiled for an earlier version of the .NET Framework, and continues to execute on later versions of the .NET Framework, without any degradation of functionality.  Most applications created using version 1.0 will run on version 1.1 and applications using version 1.1 will run on version 2.0

 

What does it take to be forward or backward compatible?  Only using APIs supported in all framework versions you intend to run on…

 

For compatibility and version changes, see http://msdn.microsoft.com/netframework/programming/obsoleteapi/default.aspx