Previous Section  < Day Day Up >  Next Section

1.6. Summary

The .NET Framework consists of the Common Language Runtime (CLR) and the Framework Class Library (FCL). The CLR manages all the tasks associated with code execution. It first ensures that code is CLR compliant based on the Common Language Specification (CLS) standard. It then loads an application and locates all dependent assemblies. Its Just-in-Time (JIT) compiler converts the IL contained in an application's assembly, the smallest deployable code unit in .NET, into native machine code. During the actual program execution, the CLR handles security, manages threads, allocates memory, and performs garbage collection for releasing unused memory.

All code must be packaged in an assembly in order for the CLR to use it. An assembly is either a single file or grouping of multiple physical files treated as a single unit. It may contain code modules as well as resource files.

The FCL provides a reusable set of classes and other types that are available to all CLR-compliant code. This eliminates the need for compiler-specific libraries. Although the FCL consists of several physical DLLs containing over a thousand types, it's made manageable by the use of namespaces that impose a logical hierarchy over all the types.

To assist the developer in debugging and deploying software, .NET includes a set of utilities that enables an administrator to perform such tasks as managing assemblies, precompiling assemblies, adding files to an assembly, and viewing class details. In addition, a wealth of open source .NET tools is becoming available to aid the development process.

    Previous Section  < Day Day Up >  Next Section