Overview of the .NET Framework 2.0
Objectives to be designed in .NET Framework 2.0:
· To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
· To provide a code-execution environment that minimizes software deployment and versioning conflicts.
· To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party.
· To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.
· To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications.
· To build all communications on industry standards to ensure that code based on the .NET Framework can integrate with any other code.
Two main components of .NET Framework 2.0:
1) The common language runtime: The common language runtime is the foundation of the .NET Framework and manages code at execution time, providing core services such as memory management, thread management, remoting, strict type safety, code accuracy.
2) The .NET Framework class library: The class library is a comprehensive, object-oriented collection of reusable types that you can use to develop applications and XML web services.
The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code (Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code.) For example, Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension). Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents.
The following illustration shows the relationship of the common language runtime and the class library to your applications and to the overall system. The illustration also shows how managed code operates within a larger architecture.
.NET Framework in context

The following sections describe the main components of the .NET Framework. Common Language Runtime
· The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime.
· The runtime enforces code access security. For example, users can trust that an executable embedded in a Web page can play an animation on screen or sing a song, but cannot access their personal data, file system, or network.
· The runtime also enforces code robustness by implementing a strict type-and-code-verification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing.
· The managed environment of the runtime eliminates many common software issues. For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. This automatic memory management resolves the two most common application errors, memory leaks and invalid memory references.
· A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it is executing.
· The runtime also accelerates developer productivity. For example, Programmers can write applications in their development language of choice, yet take full advantage of the runtime, the class library, and components written in other languages by other developers.
.NET Framework Class Library
· The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object oriented, providing types from which your own managed code can derive functionality. This not only makes the .NET Framework types easy to use, but also reduces the time associated with learning new features of the .NET Framework.
· Third-party components can integrate seamlessly with classes in the .NET Framework. For example, the .NET Framework collection classes implement a set of interfaces that you can use to develop your own collection classes. Your collection classes will blend seamlessly with the classes in the .NET Framework.
· As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access.
· You can use the .NET Framework to develop the following types of applications and services:
o Console applications.
o Windows GUI applications (Windows Forms).
o ASP.NET applications.
o XML web services.
o Windows services.
· For example, the Windows Forms classes are a comprehensive set of reusable types that vastly simplify Windows GUI development. If you write an ASP.NET Web Form application, you can use the Web Forms classes.
Author:
By Mitesh Patel
Mitesh Patel is working as a .net Programmer at Semaphore Infotech Pvt. Ltd, India. He has 4 years Experience. You can contact on email: mitesh@semaphore-software.com.


