.NET Framework: Difference between revisions
imported>Pat Palmer |
imported>Pat Palmer (→Versions: actual versions imported from Wikipedia) |
||
Line 20: | Line 20: | ||
*2.0 | *2.0 | ||
*3.0 | *3.0 | ||
Microsoft started development on the .NET Framework in the late 90s originally under the name of Next Generation Windows Services (NGWS). By late 2000 the first beta versions of .NET 1.0 were being released. | |||
{| class="wikitable" | |||
!Version Name!!Version Number!!Release Date | |||
|- | |||
|1.0 Beta 1||1.0.????.0||November 2000|2000-11 | |||
|- | |||
|1.0 Beta 2||1.0.2914.0||2001-06-20 | |||
|- | |||
|1.0 RTM||1.0.3705.0||2002-01-05 | |||
|- | |||
|1.0 SP1||1.0.3705.209||2002-03-19 | |||
|- | |||
|1.0 SP2||1.0.3705.288||2002-08-07 | |||
|- | |||
|1.0 SP3||1.0.3705.6018||2004-08-31 | |||
|- | |||
|1.1 RTM||1.1.4322.573||2003-04-01 | |||
|- | |||
|1.1 SP1||1.1.4322.2032||2004-08-30 | |||
|- | |||
|1.1 SP1 (Windows Server 2003 Version)||1.1.4322.2300||2005-03-30 | |||
|- | |||
|2.0 RTM||2.0.50727.42||2005-11-07 | |||
|- | |||
|3.0 RTM||3.0.4506.30||2006-11-06 | |||
|- | |||
|3.5 Beta 2||3.5.20706.1||2007-07-26 | |||
|} | |||
===Associated file extensions=== | ===Associated file extensions=== |
Revision as of 12:45, 22 September 2007
The .NET Framework is a bundle of interdependent programs required to create and run programs using the C# and multiple other programming languages on most versions of Microsoft Windows. Microsoft launched the framework in 2000, and it has been widely adopted since then. As of the end of 2006, the .NET Framework was in its 2nd major revision (version 2.0), with version 3.0 being readied for release along with the Windows Vista operating systen in early 2007. .NET executable programs may run as applications on a desktop or on a web server as part of a web application. The .NET Framework is also available in a reduced version for hand-held devices such as smart phones.
How the platform works
The .NET Framework's centerpiece is an execution engine, also known as the virtual machine, that has been implemented for most versions of Microsoft Windows operating systems. When downloading updates for Microsoft Windows, the execution engine is identified as the .NET Framework, although it is only a portion of the entire framework. The .NET Framework component available through Windows Update also includes the thousands of pre-written library classes. This .NET runtime environment, including the class libraries, makes all Windowws computer systems look alike so that programs written in the C# programming language and other programming languages that target the .NET Framework, can run identically on all of them.
The .NET Framework runtime environment hides the underlying operating system from the programmer. The platform consists of multiple programs, each of which provides a distinct portion of its overall capabilities. The essential components in the platform are the C# source code compiler, the .NET class libraries, and the .NET runtime environement. The C# source code compiler converts C# source code (files with an extension of .cs) into intermediate code (files with an extension of .???). The runtime environment is a special program that takes as input .NET common language runtime programs (special .exe files) for execution according to the rules laid out in the .NET Framework specification.
The .NET Framework does not necessarily include an integrated development environment (IDE). Microsoft produces and sells the Microsoft Visual Studio IDE, and provides free, downloadable reduced versions of it for learners. Several other free IDE's exist.
Bytecode and JIT compilation
C# programs initially compile down to an intermediate language; common language runtime programs are loaded and run by .NET runtime, also known as a virtual machine. The .NET runtime is sophisticated; it implements the .NET intermediate language specification by means of a just-in-time (JIT) compiler that, at runtime, converts intermediate code into native machine code. JIT compilation occurs on a per method basis only the first time each method is called, after which the native code for that method remains cached in memory; this means that subsequent executions of that method run as fast as native programs. .NET programs tend to "warm up" after they have been executing for awhile, and in some cases they execute as efficiently as native code after an initial startup period.
The .NET Framework also includes extensive libraries (pre-compiled into intermediate language) containing reusable code, as well as numerous ways for .NET applications to be deployed, including on a desktop machine for a single user, on a web server as a handler (returning "dynamic" information to web browsers), or on a web server as a web service endpoint (procedure callable across a network from any kind of platform). There are several other components and utilities as well.
Versions
- 1.0
- 1.1
- 2.0
- 3.0
Microsoft started development on the .NET Framework in the late 90s originally under the name of Next Generation Windows Services (NGWS). By late 2000 the first beta versions of .NET 1.0 were being released.
Version Name | Version Number | Release Date |
---|---|---|
1.0 Beta 1 | 1.0.????.0 | 2000-11 |
1.0 Beta 2 | 1.0.2914.0 | 2001-06-20 |
1.0 RTM | 1.0.3705.0 | 2002-01-05 |
1.0 SP1 | 1.0.3705.209 | 2002-03-19 |
1.0 SP2 | 1.0.3705.288 | 2002-08-07 |
1.0 SP3 | 1.0.3705.6018 | 2004-08-31 |
1.1 RTM | 1.1.4322.573 | 2003-04-01 |
1.1 SP1 | 1.1.4322.2032 | 2004-08-30 |
1.1 SP1 (Windows Server 2003 Version) | 1.1.4322.2300 | 2005-03-30 |
2.0 RTM | 2.0.50727.42 | 2005-11-07 |
3.0 RTM | 3.0.4506.30 | 2006-11-06 |
3.5 Beta 2 | 3.5.20706.1 | 2007-07-26 |
Associated file extensions
- C# source files have an extension of .cs
- .NET intermediate files (executable programs) have an extension of .exe (but differ in internal format from .exe files containing "native" code)
- .NET intermediate files (executable programs) must be loaded at runtime by a .NET Framework runtime
- NET .exe files may contain byte codes, resources such as images, or metadata
- when people say "component" or library, they usually mean a .dll file, which is a .NET program that does not have a "main" function entry point--it has methods that we can call, but it doesn't run "standalone"
Competition with the Java platform
See a Comparison_of_Java_and_.NET.