.NET is essentially a system application that runs on Windows. The heart of .NET is the .NET Framework. The most important component of the framework is the CLR as the heart and soul of the .NET architecture. Every application written using the Framework depends on the CLR. Among other things, the CLR provides a common set of data types, acting as a foundation for C#, VB, and all other languages that target the .NET Framework. Because this foundation is the same no matter which language they choose, developers see a more consistent environment.
.NET Framework Overview
The CLS is a statement of rules that allow each language to interoperate. For example, the CLS guarantees that Visual Basic’s idea of an integer is the same as C#. Because the two languages agree on the format of the data, they can transparently share the data. The CLS defines not only type information, but also method invocation, error handling, and so forth.
You can define a class in Visual Basic and use it in C#. A method that is defined in C# can be called by Visual Basic or any other language that adheres to the CLS. After an API is learned in one language, then using that API in any other CLS-compliant language is virtually the same.
The middle layer called Application Class Libraries and Services. This layer represents the rich set of libraries and APIs that have been created to support virtually all aspects of programming. Graphical user interface APIs or Windows.Forms, database APIs through ADO.NET, XML processing, regular expression handling, and so forth are all part of this layer.
Visual Studio .NET is an important part of the .NET Framework because it provides a means for the programmer to access the framework at any level. A programmer can use Visual Studio .NET to write code in many supported managed languages, or he can bypass the CLR altogether and write unmanaged code with Visual Studio .NET.
On the left in the figure, you can see the four languages that Microsoft has announced it will provide support for “out of the box.” The ellipsis signifies the other significant and growing set of languages that support the Common Language Specification (CLS) and are full participants in the .NET Framework. Applications written in any .NET language can use the code in the .NET Framework class library. Among the most important technologies provided in this library are the following:
ASP.NET: Classes focused on building browser-accessible applications.
Windows Forms: Classes for building Windows graphical user interfaces (GUIs) in any CLR-based programming language.
ASP.NET Web Services (also called ASMX): Classes for creating applications that communicate with other applications using Web services.
Enterprise Services: Classes that provide distributed transactions, object instance control, and other services useful for building reliable, scalable applications.
ADO.NET: Classes focused on accessing data stored in relational database management systems (DBMS).