.NET Compact Framework

Last updated

.NET Compact Framework
(.NET CF)
Original author(s) Microsoft
Developer(s) Microsoft
Initial release2002;22 years ago (2002)
Stable release
3.9.15155.0 / June 2013;10 years ago (2013-06)
Operating system Windows CE 4.1, Pocket PC, Pocket PC 2002, Windows Mobile 2003, and Symbian^3
Type Software framework
License Proprietary commercial software
Website msdn.microsoft.com/en-us/library/f44bbwa1.aspx

The Microsoft .NET Compact Framework (.NET CF) is 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.

Contents

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. [1] 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. [2] Unlike other versions of .NET CF, the Xbox 360 version allows setting processor affinity to threads created. [3] The threads are scheduled among four concurrent threads running on the multiple processor cores of the system. [2]

Release history

Version nameVersion numberRelease date
1.0 RTM1.0.2268.02002 late [4]
1.0 SP11.0.3111.02003
1.0 SP21.0.3316.0unknown
1.0 SP31.0.4292.02005 January [5]
2.0 RTM2.0.5238.02005 October [6]
2.0 SP12.0.6129.02006 June [7]
2.0 SP22.0.7045.02007 March [8]
3.5 Beta 13.5.7066.02007 May [9]
3.5 Beta 23.5.7121.0unknown
3.5 RTM3.5.7283.02007 November 19
3.53.5.7283.02008 January 25 [10]
3.53.5.9040.02009 February 8 [11] [12]
3.53.5.9198.02009 July 20 [13]
3.53.5.10181.02010 June 29 [14] (with WinCE QFE, June 2010)
3.53.5.11125.02011 June 15 [15] (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 [16] [17]

See also

Related Research Articles

<span class="mw-page-title-main">DirectX</span> Collection of multimedia related APIs on Microsoft platforms

Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as a shorthand term for all of these APIs and soon became the name of the collection. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology. The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D and DirectWrite.

Microsoft Windows is a product line of proprietary graphical operating systems developed and marketed by Microsoft. It is grouped into families and sub-families that cater to particular sectors of the computing industry -- Windows (unqualified) for a consumer or corporate workstation, Windows Server for a server and Windows IoT for an embedded system. Defunct families include Windows 9x, Windows Mobile, Windows Phone, and Windows Embedded Compact.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

Windows Embedded Compact, formerly Windows Embedded CE, Windows Powered and Windows CE, is a discontinued operating system developed by Microsoft for mobile and embedded devices. It was part of the Windows Embedded family and served as the foundation of several classes of devices including the Handheld PC, Pocket PC, Auto PC, Windows Mobile, Windows Phone 7 and others.

JScript is Microsoft's legacy dialect of the ECMAScript standard that is used in Microsoft's Internet Explorer web browser.

<span class="mw-page-title-main">Microsoft XNA</span> Freeware set of tools by Microsoft

Microsoft XNA is a freeware set of tools with a managed runtime environment that Microsoft Gaming developed to facilitate video game development. XNA is based on .NET Framework, with versions that run on Windows and Xbox 360. XNA Game Studio can help develop XNA games. The XNA toolset was announced on March 24, 2004, at the Game Developers Conference in San Jose, California. A first Community Technology Preview of XNA Build was released on March 14, 2006.

<span class="mw-page-title-main">Microsoft Visual Studio Express</span> Integrated development environment

Microsoft Visual Studio Express is a set of integrated development environments (IDEs) that Microsoft developed and released free of charge. They are function-limited version of the non-free Visual Studio and require mandatory registration. Express editions started with Visual Studio 2005.

<span class="mw-page-title-main">Windows Mobile</span> Family of mobile operating systems by Microsoft (2000-2013)

Windows Mobile is a discontinued mobile operating system developed by Microsoft for smartphones and personal digital assistants.

The Microsoft Windows operating system supports a form of shared libraries known as "dynamic-link libraries", which are code libraries that can be used by multiple processes while only one copy is loaded into memory. This article provides an overview of the core libraries that are included with every modern Windows installation, on top of which most Windows applications are built.

<span class="mw-page-title-main">.NET Micro Framework</span> Open source .NET platform

The .NET Micro Framework (NETMF) is a .NET Framework platform for resource-constrained devices with at least 512 kB of flash and 256 kB of random-access memory (RAM). It includes a small version of the .NET Common Language Runtime (CLR) and supports development in C#, Visual Basic .NET, and debugging using Microsoft Visual Studio. NETMF features a subset of the .NET base class libraries, an implementation of Windows Communication Foundation (WCF), a GUI framework loosely based on Windows Presentation Foundation (WPF), and a Web Services stack based on Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL). NETMF also features added libraries specific to embedded applications. It is free and open-source software released under Apache License 2.0.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

Perst is an open source, dual license, object-oriented embedded database management system (ODBMS). Both the Java programming language, and the C# programming language versions are compact and Perst has been implemented on smart phones running the Android and Windows Phone (WP7) operating systems.

Comparison of the Java and .NET platforms.

Microsoft SQL Server Compact is a discontinued relational database produced by Microsoft for applications that run on mobile devices and desktops. Prior to the introduction of the desktop platform, it was known as SQL Server for Windows CE and SQL Server Mobile Edition.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

<span class="mw-page-title-main">.NET Framework</span> Software platform developed by Microsoft

The .NET Framework is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability across several programming languages. Programs written for .NET Framework execute in a software environment named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

<span class="mw-page-title-main">Windows Phone Store</span> Digital distribution platform for Windows Phone

Windows Phone Store is an app store platform, developed by Microsoft Corporation for Windows Phone letting users installing various apps on their device. It initially launched with Windows Phone 7 in October 2010. With the rollout of Windows Phone 7.5, Microsoft unveiled the online Marketplace that offers over the air installation of apps. In August 2012, Microsoft renamed Windows Phone Marketplace to Windows Phone Store. In 2015, Microsoft announced that Windows Phone Store would be killed out and replaced by Windows Store which would act as a unified store for all Windows-powered devices. This process was complemented by the Apps on Windows website, an interim solution before the unified Windows Store.

<span class="mw-page-title-main">.NET Framework version history</span>

Microsoft started development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). By late 2001 the first beta versions of .NET Framework 1.0 were released. The first version of .NET Framework was released on 13 February 2002, bringing managed code to Windows NT 4.0, 98, 2000, ME and XP.

<span class="mw-page-title-main">Mono (software)</span> Computer software project

Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.

Universal Windows Platform (UWP) is a computing platform created by Microsoft and introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windows 11, Xbox One, Xbox Series X/S, and HoloLens without the need to be rewritten for each. It supports Windows app development using C++, C#, VB.NET, and XAML. The API is implemented in C++, and supported in C++, VB.NET, C#, F# and JavaScript. Designed as an extension to the Windows Runtime (WinRT) platform introduced in Windows Server 2012 and Windows 8, UWP allows developers to create apps that will potentially run on multiple types of devices.

References

  1. ".NET Compact Framework for Xbox 360". TechNet. Archived from the original on 9 June 2007. Retrieved 21 June 2007.
  2. 1 2 "Thread Pools in the .NET Compact Framework for Xbox 360". TechNet. Archived from the original on 16 April 2008. Retrieved 21 June 2007.
  3. "Additions to the .NET Compact Framework for Xbox 360". TechNet. Archived from the original on 24 April 2008. Retrieved 21 June 2007.
  4. ".NET Compact Framework Nears Release". Archived from the original on 16 November 2009. Retrieved 6 December 2007.
  5. ".NET Compact Framework releases 1.0 SP3". Archived from the original on 9 December 2007. Retrieved 6 December 2007.
  6. "Microsoft releases .NET CF 2.0 redistributable". Archived from the original on 20 October 2008. Retrieved 6 December 2007.
  7. ".NET Compact Framework v2.0 SP1 is done and is being released". Archived from the original on 17 December 2007. Retrieved 6 December 2007.
  8. ".NET Compact Framework 2.0 SP2 Released". Archived from the original on 19 December 2007. Retrieved 6 December 2007.
  9. ".NET Compact Framework 3.5 Beta1 Redistributable". Microsoft. Archived from the original on 13 December 2007. Retrieved 6 December 2007.
  10. ".NET Compact Framework 3.5 Redistributable". Microsoft. Archived from the original on 17 November 2010. Retrieved 5 May 2008.
  11. "FIX: A System.Net.WebException occurs when you run an application to send HTTPS Web requests to a server in an embedded device" . Retrieved 31 October 2013.
  12. "Why .NET Compact Framework fails to call some HTTPS web servers" . Retrieved 31 October 2013.
  13. "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". Archived from the original on 17 January 2010. Retrieved 30 January 2010.
  14. "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". Archived from the original on 17 November 2010. Retrieved 29 June 2010.
  15. "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" . Retrieved 27 June 2014.
  16. Microsoft announces general availability of Windows Embedded Compact 2013
  17. "Introducing NETCF 3.9 in Windows Embedded Compact 2013 – a faster, leaner and multi-core runtime!" . Retrieved 30 November 2012.