Chapter 1: .NET Framework Chapter Goal: If you are new with or have some experience with .NET Framework you must starts here. This chapter is an introduction for the content of the book and describes the architectural and the engineering resources that you''ll should expect to be available in any implementation of the .NET Framework, in any platform of hardware / operating system or executive · Chapter 2: Base Class Library Chapter goal: The BCL - Base Class Library (core set) is also known as "synonymous" for .NET FCL - Framework Class Library (complete set). But it is important to understand that this is not correct. The .
NET FCL - Framework Class Library (complete set) is the name that is used in documentation when it describes what you known as .NET Framework Class Library. As the name implies, the purpose of BCL - Base Class Library (core set) is to provide the FOUNDATIONAL LIBRARY with managed types (reference types and value types) that give access for what is known as system functionalities. The system functionalities means not only the platform itself, but operating system base functionalities and even functionalities of some specialized resources of the operating system. This FOUNDATIONAL LIBRARY is organized in a few assemblies to facilitate the use and distribution. For example, the mscorlib (in mscorlib.dll), System (System.dll / .
netstandard.dll / System.Runtime.dll), and System.Xml (System.Xml.dll) assemblies concentrates the most fundamental types and functionalities, data structures, and functionalities which are used by any kind of application. This assemblies includes API - Application Programming Interfaces that are CLS-compliant and API - Application Programming Interfaces that are not CLS-compliant.
· Chapter 3: Virtual Execution System (VES) - Equals and Clone operations Chapter goal: As you learned in Chapter 1 - .NET Framework and Chapter 2 - BCL - Base Class Library, the fundamental types array and string are part of any kind of application targeting an implementation of .NET. But some behaviors available within these types come from the VES - Virtual Execution System and expressed through methods and functionalities that are implicitly available. For example, ref classes / ref structs, and value classes / value structs derives from the root reference type System::Object, implicitly or explicitly. So, ref classes / ref structs, and value classes / value structs inherit some of the fundamental behaviors designed and described by CTS - Common Type System, which are implemented and enforced by VES - Virtual Execution System. Just to remember, by definition, ref classes / ref structs are compared by reference, which means that for being considered equal, two or more references must point for the same instance. · Chapter 4: Programming with Common Intermediate Language (CIL) Chapter goal: In this chapter you will learn more details about the CTS - Common Type System and VES - Virtual Execution System, that is, more about how the execution environment deals with the types and structural elements of the platform.
We use code written directly in CIL - Common Intermediate Language to explain more details about the use of the types and to better understands some internal aspects of the execution environment. · Chapter 5: Assembly Manifest and Versioning Chapter goal: In this chapter we will learn about the metadata system and the importance to the CTS - Common Type System and VES - Virtual Execution System. For this, we uses one of the critical structural and behavioral elements of the platform, the ASSEMBLY MANIFEST. We will also begin learning about the versioning system and how the VES - Virtual Execution System works with it. · Chapter 6: Designing and Implementing Libraries - Part I Chapter goal: In this chapter we will learn about some foundational elements to design and to implement a .NET Class Library. We use the .NET Standard 2.
0 to create our .NET Class Library. We continue learning about aspects of versioning and versioning binding. · Appendix A: Advanced Operations Chapter goal: In this chapter we will learn about peculiarities of the execution system when dealing with class libraries, about decisions when using native programming languages and managed programming languages.