Chapter 5. Framework Overview

Almost all of the capabilities of .NET Core are exposed via a vast set of managed types. These types are organized into hierarchical namespaces and packaged into a set of assemblies, which together with the CLR comprise the .NET Core platform.

Some of the .NET types are used directly by the CLR and are essential for the managed hosting environment. These types reside in an assembly called System.Private.CoreLib.dll. They include C#’s built-in types as well as the basic collection classes, and types for stream processing, serialization, reflection, threading, and native interoperability.

Note

System.Private.CoreLib.dll replaces .NET Framework’s mscorlib.dll. Many places in the official documentation still refer to mscorlib.

At a level above this are additional types that “flesh out” the CLR-level functionality, providing features such as XML, JSON, networking, and Language-Integrated Query (LINQ). These comprise the Base Class Library (BCL). Sitting above this are application frameworks, which provide APIs for developing particular kinds of applications such as web or rich client.

In this chapter, we provide the following:

  • An overview of the BCL (which we cover in the rest of the book)

  • A high-level summary of the available application frameworks

.NET Standard

In Chapter 1, we said that there are four major framework choices:

  • .NET Core

  • UWP

  • Mono + Xamarin (for mobile device development)

  • .NET Framework

Get C# 8.0 in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.