The .NET Compact Framework version 2.0 Beta introduces new features and provides more support for .NET Framework classes. It also provides better performance in several feature areas, including just-in-time (JIT) compilation, garbage collection, XML Web services, and data access.
The following table summarizes the increased framework support of the .NET Compact Framework:
The following table summaries new device-specific features in the .NET Compact Framework:
The .NET Compact Framework now supports calling COM objects from managed code; however, the ability to call a managed object from COM is planned but not implemented in this beta release. Current COM interoperability support allows you to program the Pocket Outlook Objects Model (POOM) and other native objects on a mobile device. Calls can be late-bound through System.Runtime.InteropServices.UnmanagedType.IDispatch, or early-bound.
Although the .NET Compact Framework supports only a subset of the System.Runtime.InteropServices namespace, advanced marshaling capabilities are available with the support of the System.Runtime.InteropServices.MarshalAsAttribute attribute; in addition, the .NET Compact Framework supports several new members in the System.Runtime.InteropServices.Marshal class. You can now marshal a wide range of types through COM into the .NET Compact Framework, including all OLE Automation types.
You can set a registry key to record marshaling of function calls in a log file.
You can also use the .NET Framework SDK type library import tool (Tlbimp.exe), with the .NET Compact Framework. In Visual Studio, you can add a reference a COM type library in a device project.
The COM Single-Threaded Apartment threading model is not supported.
For more information see Interoperability and the .NET Compact Framework.
Starting with the .NET Compact Framework version 2, the resx format is the same as the full .NET Framework, therefore the same resource file generator, resgen.exe, can be used for both framework. The cfresgen.exe utility has been removed.