Chapter 1:The .NET Foundation
This current set of .NET Enterprise Servers is considered part of the .N ET platform mainly
because they are tightly coupled with XML, a language the .NET platform understands very
well, thus allowing them to communicate and work together with ease.
.NET s Foundation
The foundation of the .NET platform is the .NET Framework, which we have already
introduced. The .NET Framework sits on top of the operating system and i s made up of two
parts, the Common Language Runtime and the Base Class Libraries. Each on e of these parts
plays an important role in the development of .NET applications and serv ices.
The Common Language Runtime
Many different languages and platforms provide a runtime, and the .NET F ramework is no
exception. You will find, however, that this runtime is quite different from most.
The Common Language Runtime (CLR) in the .NET Framework manages the ex ecution of the
code and provides access to a variety of services that will make the dev elopment process
The CLR has been developed to be far superior to previous runtimes, such as the VB runtime,
by attaining the following:
¨ Cross-language integration
¨ Code access security
¨ Object lifetime management
¨ Debugging and profiling support
Code that is compiled and targeted to the CLR is known as managed code. Managed code
provides metadata that is needed for the CLR to provide the services of multilanguage sup port,
code security, object lifetime management, and memory management.
NOTE: Metadata is basically "data about data" or a description of the contents of a .NET component. This
metadata is stored within the assembly manifest. In the past, it was difficult for components written in
competing languages to interact with one another. The .NET Framework uses metadata so that .NET
components are self-describing, making them easy to interoperate with other components.
Compilation to managed code
The .NET Framework requires that you use a language compiler that is tar geted at the CLR,
such as the Visual Basic .NET, C#, C++ .NET, or JScript .NET compilers p rovided by
Microsoft. Note that there are a lot of third-party compilers on the mar ket (such as COBOL
and Perl), and the number will continue to grow.
So how does the code that you typed into Visual Studio .NET become the c ode that the user
receives when he is using your application? It is fairly simple and stra ightforward. Figure 1-4
shows a diagram of the compilation process.