Announcing .NET Compact Framework 2.0 SP1 Beta1

The .NET Compact Framework team has been working on a service pack for .NET Compact Framework 2.0.  The fixes and features included in this beta have been driven through customer feedback we receive through the Product Feedback Center, Newsgroups and Forum posts.  To get started using .NET Compact Framework 2.0 SP1 beta download it from

Below is a raw list of features and bug fixes.

New Features

  • Support for WinCE 4.2.  For more information see Richard Greenberg's BLOG.
  • Allow GAC to be installed to Storage Card.
  • Allow DataGrid cell drawing to be overridden.
  • Enable .NET Framework SDK Debugging via MDBG.
  • Include Network Log Viewer.
  • Include .NET Compact Framework Remote Performance Monitor.  For more information see Steven Pratschner's BLOG.
  • Support Headless WinCE 5.0 Devices.  For more information see Mark Prentice's BLOG.
  • Add the [Serializable] attribute to better facilitate serialization extensibility and code portability.

Bug Fixes

The list below contains only our internal titles for the bugs, so it is not too descriptive.   But, hopefully this list will help you determine whether you may have run into any of these issues in your code. In the future, we hope to provide more detailed descriptions of these issues.

Access violation accessing .Controls or .Controls.Count property of a control once it has begun the disposing process
AppCompat - MS Pocket Expense Logon Screen disappears before you can logon
Breakpoints don't work if the "cached" managed dlls in "bcl" directory differ from the ones on the device
Can't get CF 2.0 to install on Wizard (Cab Install failure on low memory device)
Close button doesn't terminate the netcflaunch.exe process
COM Interop: VARIANT_BOOL is passed incorrectly on ARMV4I.
Compact framework 2.0 Debug.WriteLine not functioning
DataGrid formatting support
DateTime.Now throws ArgumentOutOfRangeException
Error getting v2 on device via ActiveSync push
FileStream finalizer will cause app crash, if previous IO operation failed
Fix Com marshaling memory leaks
Http Abort semantics fixes
HttpWebRequest over SSL with payload over 32K hangs on the client when SendChunked is false
HttpWebRequest: ArgumentOutOfRangeException on accessing
HttpWebRequest: NullReferenceException on multithreaded WebRequest scenario with abort
HttpWebRequest: Uncatchable ObjectDisposedException on exiting app with asynchronous requests
icordbg av when exception occurs when native thread calling back into managed code generates an exception
icordbg: Remove RemoteDeviceConnection10 / RemoteDevicePort10 / TransportStream10 classes
Implementation of BindingList class is obsolete (about 6 months old), prevents major data binding scenarios from working.
Installer should check for ActiveSync version and disable deployment if prior to AS 4.0 build 4343.
Magneto PPC requires cabs built with new version of Cabwiz to eliminate "... previous version..." warning message
MIPS JIT can't handle branches to destinations farther than 256mb away
PInvoke return types of UIntPtr throw a NotSupportedException
Regular Expression that worked in 1.1 doesn't work in 2.0
ResourceManager.CreateFileBasedResourceManager() throws ArgumentException when the base name ends with ".resources"; Desktop doesn't
SerialPort: IOException is thrown on opening serial port on IPAQ 4150
SerialPort: Uncatchable exception when Bluetooth is turned off
SerialPort: Virtual serial ports are not reported in SerialPort.GetPortNames()
sometimes a p/invoke call that uses the Win32 FindWindow function to get a .NET CF Window’s window handle will fail.
SP1 - Changing VT_BYREF Variants in Managed Code Can Lead to a Memory Leak
Submitting batch update throws NullReferenceException w/ OutputParameters and multiple batches of updates

[Edit: Fix formatting]