The Microsoft .NET Compact Framework 2.0 Service Pack 2 (SP2) for Microsoft Visual Studio 2005 is available. This service pack updates existing .NET Compact Framework 2.0 installations to SP2. This service pack is intended for users of Visual Studio 2005.
The .NET Compact Framework 2.0 SP2 adds several new features to the .NET Compact Framework Remote Performance Monitor. You can use these features to find memory leaks in the managed heap. These features let you take snapshots of the garbage collection heap at any point in time. Additionally, and you can view the relationships between the live object instances in the garbage collection heap. You can also compare multiple snapshots over time to recognize allocation trends while the application is running.
Issues that are fixed
The following issues are fixed in the .NET Compact Framework 2.0 SP2:
The .NET Compact Framework Remote Performance Monitor fails on x64-based computers.
When you run Microsoft Windows Installer through the Add or Remove Programs item in Control Panel, the installation process and the uninstallation process fail silently in Windows Vista.
Finalizers on some classes that are used in the .NET Compact Framework Remote Performance Monitor fail because COM bindings are already disposed.
Visual Studio 2005 crashes when you try to use the attach to process command and you do not set the
The Thread.Join method fails with the ERROR_INVALID_HANDLE error on a Microsoft Windows CE 6.0-based device.
Potential memory corruption may occur because of a circular reference.
Just-in-time (JIT) assertion fails when a nonexistent COM port is located.
A TypeLoadException exception occurs when you use generic types together with the .NET Compact Framework 2.0.
Infrared Data Association (IrDA) does not work on Windows CE 5.0-based devices.
The .NET Compact Framework Remote Performance Monitor and the command-line debugger (Mdbg.exe) cannot locate remotely administered devices.
SerialPort class: Data corruption occurs if the DataReceived event is used to receive Unicode characters that are sent through serial ports.
SerialPort class: You cannot open a COM port if the ID of the COM port is larger than COM9.
SerialPort class: The GetPortNames method does not return the serial port name when the ID of a COM port is larger than COM9.
The .NET Compact Framework deadlocks when the application exits if the application calls a native callback delegate on a native thread.
Visual Studio 2005 tries to deploy the NETCFv2.wce5.ARMV4I.cab/System_SR_ENU.cab file instead of the NETCFv2.wm.ARMV4I.cab/System_SR_ENU_wm.cab file on a Microsoft Windows Mobile 6-based device.
XmlSerializationWriter class: If the GetSpecifiedMember method returns false, serialization stops, and data is lost.
An access violation occurs when you marshal a class that has a string field.
When you step out from a breakpoint after function evaluation, the breakpoint remains at the same position, and then Visual Studio 2005 stops responding (hangs).
COM: An access violation occurs in N-to-M ByRef marshaling.
When you use the Interlocked.Exchange method, a native exception occurs in marshaling code.
An access violation occurs in the StubPolicyAlloc function.
The SerialPort.Open method throws an IOException exception on a Windows CE 6.0-based device.
The Type.GetDefaultMembers method does not return the default members of base types.
When you install multiple locales of the same .NET Compact Framework installation package, multiple instances of the .NET Compact Framework appear in the Add or Remove Programs item in Control Panel.
Visual Studio 2005 tries to deploy the System_SR_ENU.cab file instead of the System_SR_ENU_wm.cab file on a Windows Mobile 6.0-based device.
The debugger does not correctly handle new native threads that are entering through COM.
The .NET Compact Framework Remote Performance Monitor incorrectly parses the connection string if the device uses Microsoft Internet Protocol version 6 (IPv6).
HttpWebRequest class: An HTTPS request fails when the request uses the TLS_RSA_WITH_3DES_EDE_CBC_SHA cipher.
The debugger may experience an access violation if breakpoints are active before you start to debug.
The NavigatingEventArgs argument of the WebBrowser control does not let you cancel navigation.
The XmlSerializer class cannot deserialize an enum value that contains spaces.
If you do not use Visual Studio 2005, update your device to the .NET Compact Framework 2.0 SP2 by visiting the following Microsoft Web site to download the .NET Compact Framework 2.0 SP2 Redistributable package: