CHAPTER 1 THE PHILOSOPHY OF .NET
Summary
The point of this chapter was to lay out the conceptual framework necessary for the remainder of this
book. I began by examining a number of limitations and complexities found within the technologies
prior to .NET, and followed up with an overview of how .NET and C# attempt to simplify the current
state of affairs.
.NET basically boils down to a runtime execution engine (mscoree.dll) and base class library
(mscorlib.dll and associates). The Common Language Runtime (CLR) is able to host any .NET binary
(a.k.a. assembly) that abides by the rules of managed code. As you have seen, assemblies contain CIL
instructions (in addition to type metadata and the assembly manifest) that are compiled to platformspecific instructions using a just-in-time (JIT) compiler. In addition, you explored the role of the
Common Language Specification (CLS) and Common Type System (CTS).
This was followed by an examination of the ildasm.exe and reflector.exe object browsing utilities,
as well as coverage of how to configure a machine to host .NET applications using the full and client
profiles. I wrapped up by briefly addressing the platform-independent nature of C# and the .NET
platform (a topic further examined in Appendix A) and how the .NET platform is positioned within the
Windows 8 operating system.
37