The .NET Core platform is shipped as a set of packages that are typically called metapackages. The platform is essentially made of NuGet packages, this contributes to it being lightweight and easily distributable. The packages in .NET Core provide both primitives and higher level data types and common utilities available in the platform. Also, each package directly maps to an assembly both with the same name; System.IO.FileSystem.dll assembly is the package for System.IO.FileSystem.
Packages in .NET Core are defined as fine-grained. This comes with great benefits as the resulting application developed on the platform has small print and only contains packages that are referenced and used in the project. Unreferenced packages are not shipped as part of the application distribution. Additionally, fine-grained packages can provide differing OS...