Summary: The list of known compatability issues between .NET Compact Framework V1 and V2
* In some cases a p/invoke call that uses the Win32
FindWindow function to get a .NET CF Window’s window handle will fail. This is because some of the .NET CF windows have changed their Win32 Window class name. Daniel Moth provides an excellent discussion of this issue on his
blog * An attempt to make a Form a child to another control now fails under .NET CF 2.0. This worked under .NET CF 1.0 (although probably wasn't intended to). For more info on this issue, checkout this
newsgroup thread_thread/thread/eb42fa2216f84e1f/9c7081c50c2b67c0#9c7081c50c2b67c0.
* An attempt to directly call a method on a control from another thread throws an exception in .Net CF 2.0. In version 1.0, you were not
supposed to do this, but v1 did not throw an exception. The correct thing to do is to use Control.Invoke. See http://blogs.msdn.com/davidklinems/archive/2006/03/09/548235.aspx .
Note: An application that references an assembly that isn't present will only fail at run-time. For example, if your application tries to call a method that is only present in CF v2 on a device with CF v1, then the program will fail at run-time. You should test your application appropriately, and be able to recover gracefully or offer an alternative.