.NET Compact Framework

{{Short description|Version of the .NET Framework}}

{{Use dmy dates|date=June 2023}}

{{Infobox software

| name = .NET Compact Framework
(.NET CF)

| author = Microsoft

| developer = Microsoft

| released = {{Start date and age|2002}}

| latest_release_version = 3.9.15155.0

| latest_release_date = {{Start date and age|2013|06}}

| repo =

| programming language =

| operating system = Windows CE 4.1, Pocket PC, Pocket PC 2002, Windows Mobile 2003, and Symbian^3

| platform =

| genre = Software framework

| license = Proprietary commercial software

| website = {{URL|http://msdn.microsoft.com/en-us/library/f44bbwa1.aspx}}

}}

The Microsoft .NET Compact Framework (.NET CF) was a version of the .NET Framework that is designed to run on resource constrained mobile/embedded devices such as personal digital assistants (PDAs), mobile phones, factory controllers, set-top boxes, etc. The .NET Compact Framework uses some of the same class libraries as the full .NET Framework and also a few libraries designed specifically for mobile devices such as .NET Compact Framework controls. However, the libraries are not exact copies of the .NET Framework; they are scaled down to use less space.

Development

It is possible to develop applications that use the .NET Compact Framework in Visual Studio .NET 2003, in Visual Studio 2005 and in Visual Studio 2008, in C# or Visual Basic .NET. Applications developed with Basic4ppc are also eventually compiled for the .NET CF. The resulting applications are designed to run on a special, mobile-device, high performance JIT compiler.

The Microsoft .NET Compact Framework 3.5 Redistributable contains the common language runtime and class libraries built for the .NET Compact Framework. In addition to version 3.5 support, it also supports applications developed for version 1.0 and 2.0. The .NET Compact Framework 3.5 provides new features such as Windows Communication Foundation, LINQ, SoundPlayer, new runtime tool support, and many other features.

The UI development is based on Windows Forms which is also available on the desktop version of the .NET Framework. User interfaces can easily be created with Visual Studio by placing .NET Compact Framework controls like buttons, text boxes, etc. on the forms. Also features like data binding are available for the .NET CF. A major disadvantage of the UI development is that modern looking applications with support for finger-based touch screen interaction are not that easy to implement. This is mainly due to the desktop-oriented user interface concept on which Windows Forms is based, although some third party libraries with custom controls for this purpose are available.

Deployment

To be able to run applications powered by the .NET Compact Framework, the platform must support the Microsoft .NET Compact Framework runtime. Some operating systems which do include .NET CF are Windows CE 4.1, Microsoft Pocket PC, Microsoft Pocket PC 2002, Smartphone 2003, and Symbian v3. .NET Compact Framework applications can be run on desktop computers with the full .NET Framework as long as they only access the shared parts of both frameworks, though their user interface cannot be upgraded to look like that of an application developed for desktop PCs.

A version of the .NET Compact Framework is also available for the Xbox 360 console. While it features the same runtime as the regular .NET CF, only a subset of the class library is available.{{cite web | url = http://msdn2.microsoft.com/en-us/library/bb203912.aspx | title = .NET Compact Framework for Xbox 360 | publisher = TechNet | accessdate = 2007-06-21| archiveurl= https://web.archive.org/web/20070609214416/http://msdn2.microsoft.com/en-us/library/bb203912.aspx| archivedate= 9 June 2007}} This version is used by XNA Framework to run managed games on the console. There are other limitations as well, such as the number of threads being limited to 256.{{cite web |url=http://msdn2.microsoft.com/en-us/library/bb203914.aspx |title=Thread Pools in the .NET Compact Framework for Xbox 360 |publisher=TechNet |accessdate=2007-06-21 |archiveurl=https://web.archive.org/web/20080416230035/http://msdn2.microsoft.com/en-us/library/bb203914.aspx |archivedate=16 April 2008 |url-status=live }} Unlike other versions of .NET CF, the Xbox 360 version allows setting processor affinity to threads created.{{cite web |url=http://msdn2.microsoft.com/en-us/library/bb203911.aspx |title=Additions to the .NET Compact Framework for Xbox 360 |publisher=TechNet |accessdate=2007-06-21 |archiveurl=https://web.archive.org/web/20080424040518/http://msdn2.microsoft.com/en-us/library/bb203911.aspx |archivedate=24 April 2008 |url-status=live }} The threads are scheduled among four concurrent threads running on the multiple processor cores of the system.

Release history

class="wikitable" style="margin:auto;"
Version nameVersion numberRelease date
1.0 RTM1.0.2268.02002 late{{cite web |url=http://www.ddj.com/web-development/184406670 |title=.NET Compact Framework Nears Release |accessdate=2007-12-06 |archiveurl=https://web.archive.org/web/20091116125721/http://www.ddj.com/web-development/184406670 |archivedate=16 November 2009 |url-status=live }}
1.0 SP11.0.3111.02003
1.0 SP21.0.3316.0unknown
1.0 SP31.0.4292.02005 January{{cite web | url = http://blogs.msdn.com/netcfteam/archive/2005/01/10/350249.aspx | title = .NET Compact Framework releases 1.0 SP3 | accessdate = 2007-12-06| archiveurl= https://web.archive.org/web/20071209193603/http://blogs.msdn.com/netcfteam/archive/2005/01/10/350249.aspx| archivedate= 9 December 2007}}
2.0 RTM2.0.5238.02005 October{{cite web |url=http://www.windowsfordevices.com/news/NS6191688737.html |title=Microsoft releases .NET CF 2.0 redistributable |accessdate=2007-12-06 |archiveurl=https://web.archive.org/web/20081020052816/http://www.windowsfordevices.com/news/NS6191688737.html |archivedate=20 October 2008 |url-status=dead }}
2.0 SP12.0.6129.02006 June{{cite web | url = http://blogs.msdn.com/netcfteam/archive/2006/06/21/642013.aspx | title = .NET Compact Framework v2.0 SP1 is done and is being released. | accessdate = 2007-12-06| archiveurl= https://web.archive.org/web/20071217145451/http://blogs.msdn.com/netcfteam/archive/2006/06/21/642013.aspx| archivedate= 17 December 2007}}
2.0 SP22.0.7045.02007 March{{cite web | url = http://blogs.msdn.com/netcfteam/archive/2007/03/13/net-compact-framework-2-0-sp2-released.aspx | title = .NET Compact Framework 2.0 SP2 Released | accessdate = 2007-12-06| archiveurl= https://web.archive.org/web/20071219221213/http://blogs.msdn.com/netcfteam/archive/2007/03/13/net-compact-framework-2-0-sp2-released.aspx| archivedate= 19 December 2007}}
3.5 Beta 13.5.7066.02007 May{{cite web | url = http://www.microsoft.com/downloads/details.aspx?FamilyID=1343D537-A62F-4A6E-9727-7791BF4CC2BD&displaylang=en | title = .NET Compact Framework 3.5 Beta1 Redistributable | publisher = Microsoft | accessdate = 2007-12-06| archiveurl= https://web.archive.org/web/20071213060637/http://www.microsoft.com/downloads/details.aspx?FamilyID=1343d537-a62f-4a6e-9727-7791bf4cc2bd&displaylang=en| archivedate= 13 December 2007}}
3.5 Beta 23.5.7121.0unknown
3.5 RTM3.5.7283.02007 November 19
3.53.5.7283.02008 January 25{{cite web | url = http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=e3821449-3c6b-42f1-9fd9-0041345b3385 | title = .NET Compact Framework 3.5 Redistributable | publisher = Microsoft | accessdate = 2008-05-05 | archiveurl = https://web.archive.org/web/20101117224558/http://www.microsoft.com/Downloads/details.aspx?familyid=E3821449-3C6B-42F1-9FD9-0041345B3385&displaylang=en | archivedate = 17 November 2010 | url-status = live }}
3.53.5.9040.02009 February 8{{cite web | url = http://support.microsoft.com/kb/970549 | title = FIX: A System.Net.WebException occurs when you run an application to send HTTPS Web requests to a server in an embedded device | accessdate = 2013-10-31}}{{cite web | url = http://blogs.msdn.com/b/andrewarnottms/archive/2007/11/19/why-net-compact-framework-fails-to-call-some-https-web-servers.aspx | title = Why .NET Compact Framework fails to call some HTTPS web servers | accessdate = 2013-10-31}}
3.53.5.9198.02009 July 20{{cite web | url = http://support.microsoft.com/kb/975281 | archive-url =https://web.archive.org/web/20100117010101/http://support.microsoft.com/kb/975281| title = FIX: You cannot scroll through a Web page or visit a link by using a .NET Compact Framework 3.5-based application that hosts a WebBrowser control in Windows Mobile 6.1.4 or in Windows Mobile 6.5 | accessdate = 2010-01-30| url-status = dead | archivedate= 17 January 2010}}
3.53.5.10181.02010 June 29{{cite web | url = http://support.microsoft.com/kb/2436709 | archive-url =https://web.archive.org/web/20101117010101/http://support.microsoft.com/kb/2436709| title = PROBLEM: An application may crash when you try to open the View GC Heap window in the Remote Performance Monitor on a device that is running the .NET Compact Framework 3.5 | accessdate = 2010-06-29| url-status = dead | archivedate= 17 November 2010 }} (with WinCE QFE, June 2010)
3.53.5.11125.02011 June 15{{cite web | url = http://support.microsoft.com/kb/2556155 | title = FIX: Performance issues may occur when the ClassDesc classFlags member is accessed in a function in the .NET Compact Framework 3.5 in Windows Embedded CE 6.0 R3 | accessdate = 2014-06-27}} (with WinCE QFE, May 2011)
3.73.7.0.08 June 2009 18:38
3.73.7.8345.02009
3.93.9.15155.0June 2013[http://news.microsoft.com/2013/06/13/microsoft-announces-general-availability-of-windows-embedded-compact-2013/ Microsoft announces general availability of Windows Embedded Compact 2013]{{cite web | url = http://blogs.msdn.com/b/dotnet/archive/2012/11/16/introducing-netcf-3-9-in-windows-embedded-compact-2013-a-faster-leaner-and-multi-core-runtime.aspx | title = Introducing NETCF 3.9 in Windows Embedded Compact 2013 – a faster, leaner and multi-core runtime! | accessdate = 2012-11-30}}

See also

References

{{Reflist}}