In general, the .NET Compact Framework is a subset of the full .NET Framework. The .NET Compact Framework supports about 30 percent of the namespaces and classes of the full .NET Framework, and is about 8 percent of its size. To keep the size small, only the most important classes and members are supported. The .NET Compact Framework also contains some features and classes that are specific to mobile and embedded development.
For more details of the differences between the two frameworks, please read the following documents:
Differences between the .NET Compact Framework and the .NET Framework
http://msdn.microsoft.com/en-us/library/2weec7k5.aspx
Supported Classes in the .NET Compact Framework
http://msdn.microsoft.com/en-us/library/w8xd02k7.aspx
There are ways you can tell whether or not a class or a member is supported by the .NET Compact Framework, as shown in the following page:
How to: Find Supported Members of the .NET Compact Framework in the Class Library
http://msdn.microsoft.com/en-us/library/ms172548.aspx
For more FAQs about .NET Compact Framework, please see .NET Compact Framework FAQ.