The .NET Compact Framework 2.0 Service Pack 2 Redistributable is now available for download at http://www.microsoft.com/downloads/details.aspx?FamilyID=aea55f2f-07b5-4a8c-8a44-b4e1b196d5c0&displaylang=en

New Features:
Service Pack 2 of the .Net Compact Framework V2.0 includes some new features in the Remote Performance Monitor aimed at finding memory leaks in the managed heap. These features allow you to take snapshots of the GC heap at any point in time and view the relationships between the live object instances in the heap. You can also compare multiple snapshots over time in order to spot allocation trends in your application as it executes.

Fixed Bugs:
  • NETCFRPM fails on x64
  • Setup install/uninstall fails silently when the MSI is launched from Control Panel-Programs and Features on Vista
  • Finalizers fail on RTF objects because COM bindings are already disposed
  • VS crashes on trying to attach without setting the Attach Enabled Registry Key
  • Thread.Join() fails with ERROR_INVALID_HANDLE on CE 6.0 platform
  • Potential memory corruption caused by circular reference
  • JIT assertion failure when non-existent COM port is addressed
  • TypeLoadException using generics with NETCF 2.0
  • IrDA is broken on Windows CE 5.0 devices
  • NetCFRPM and MDBG cannot target headless devices
  • SerialPort: Data corruption occurs if DataReceived event is used to receive Unicode characters sent across serial ports
  • SerialPort: Cannot open a COM port beyond COM9
  • SerialPort: GetPortNames() does not return serial port names beyond COM9
  • SerialPort: Data corruption occurs if DataReceived event is used to receive Unicode characters sent across serial ports
  • NETCF deadlocks on exit if native callback delegate has been called on native thread
  • VS 2005 RTM attempts to deploy NETCFv2.wce5.ARMV4I.cab/System_SR_ENU.cab instead of NETCFv2.wm.ARMV4I.cab/System_SR_ENU_wm.cab on Windows Mobile 6 platforms
  • XmlSerializerializationWriter: When GetSpecifiedMember returns false serialization is halted resulting in loss of data
  • Access violation marshaling a class with a string field
  • Stepping out from a Breakpoint after Func eval causes breakpoint to remain at same place and then VS 2005 hangs
  • COM: Access violation in N->M byref marshaling
  • Native exception in marshalling code when using Interlocked.Exchange
  • Access violation in StubPolicyAlloc (eestub\policy.cpp
  • SerialPort.Open thows IOException on CE 6.0 devices
  • Type.GetDefaultMembers() doesn't return base type's default members
  • Installing multiple locales of same MSI results in multiple instances of NetCF showing up in Add Remove Programs
  • VS 2005 attempts to deploy System_SR_ENU.cab instead of System_SR_ENU_wm.cab on Windows Mobile 6 platforms
  • Debugger does not correctly handle new native threads entering through COM
  • NETCFRPM parses connection string improperly when device uses ipv6
  • V2 SP2: HttpWebRequest: HTTPS request fails when TLS_RSA_WITH_3DES_EDE_CBC_SHA cipher is used
  • Debugger may AV if breakpoints active before F5
  • WebBrowser's NavigatingEventArgs does not allow to cancel navigation
  • XmlSerializer fails to deserialize enum's with spaces