Microsoft have shipped .net Compact Framework 2.0 SP1 with 'install to Storage Card' support!
For developers such as myself, the memory requirement of .net CF 2.0 placed upon an already limited resource (particularly on Smartphone) has always been off putting. In fact, to date I have been still developing in .net CF 1.0, purely because of this problem.
Installation to Storage Card resolves this issue, and is a very welcome change!
The update can be found here, the lowdown from Microsoft follows:[/teaser]
.NET Compact Framework 2.0 Service Pack 1 details:
- Added support for WindowsCE 4.2 in both the CAB installation and a Platform Builder Update (For more information on the Platform Builder Update, see Windows CE Download Center.)
- Added the option to install the global assemblycache to the storage card.
- Allow DataGrid cell drawing to be overridden
- Added support for headless Windows CE 5.0 devices by adding a Headless catalog item in Platform Builder. (For more information on the Platform Builder Update, see Windows CE Download Center.)
- Added System SR files to the Windows CE 5.0 Platform Builder catalog item. (For more information on the Platform Builder Update, see Windows CE Download Center)
- Enabled device debugging using mdbg.
- Included LogViewer tools to monitor network traffic.
- Included the .NET Compact Framework Remote Performance Monitor. (For more information, see Steven Pratschner’s BLOG.)
- Added the Serializable attribute.
- Changing VT_BYREF Variants in managed code could lead to a memory leak.
- Inappropriate caching of current UI culture even after CultureInfo.ClearCachedData is called.
- For the HttpWebRequest method, an uncatchable ObjectDisposedException could occur when exiting an application with asynchronous requests.
- Visual Studio hangs on setting a Breakpoint in a function with an infinite loop when it is called from the Immediate Window.
- Breakpoints do not work if the cached, managed dlls in the bcl directory differ from the ones on the device.
- Environment.GetFolderPath returns an InvalidOperationException.
- An access violation occurs when accessing .theControls or .Controls.Count property of a control once it has begun the disposing process.
- The WebBrowser.DocumentCompleted event is fired in a loop when the DocumentText property contains an image inside of a table.
- Files should be extracted to the main storage as a workaround to avoid hardware issues on some storage cards.
- For the HttpWebRequest method, an ArgumentOutOfRangeException occurs when accessing some https:// URLs.
- Timer breaks after GetTickCount wraps around (49.7 days).
- Error occurs when loading the .NET Compact Framework version 2.0 on a device using an ActiveSync push.
- Memory leaks occur when using Com marshaling.
- Installer should check for ActiveSync version and disable deployment if version is older than ActiveSync 4.0 build 4343.
- For the SerialPort class, an IOException is thrown when opening a serial port on the IPAQ 4150.
- A call to HttpWebRequest over SSL with a payload greater than 32 KB hangs on the client when SendChunked returns false.
- For the SerialPort class,an uncatchable exception occurs when Bluetooth is turned off.
- A finalizer for the FileStream class will cause the application to crash if a previous IO operation failed.
- Installation of the .NET Compact Framework fails on low memory devices.
- PInvoke return types of UIntPtr throw a NotSupportedException.
- The Debug.WriteLine method in the .NET Compact framework version 2.0 is not working.
- For the SerialPort class, virtual serial ports are not reported by the SerialPort.GetPortNames method.
- When using COM Interop, a VARIANT_BOOL type is passed incorrectly on ARMV4I.
- The .NET Compact Framework incorrectly performs version comparison when loading assemblies.
- ARMV4I runtime should be removed from ARMV4 Pocket PC CAB to reduce the size of the CAB.
- Corrections needed for Http Abort semantics.
- The DateTime.Now method throws an ArgumentOutOfRangeException.
- Crash caused by using CurrentTimeZone.GetDaylightTime and CurrentTimeZone.GetStandardTime in certain rare stress conditions.