Understanding NuGet packages

.NET Core is split into a set of packages. Each of these packages represents a single assembly of the same name. For example, the System.Collections package contains the System.Collections.dll assembly.

The following are the benefits of packages:

  • Packages can ship on their own schedule
  • Packages can be tested independently of other packages
  • Packages can support different OSes and CPUs
  • Packages can have dependencies specific to only one library
  • Apps are smaller because unreferenced packages aren't part of the distribution

The following table lists some of the more important packages:


Important types


Object, String, Array


List<T>, Dictionary<TKey, TValue>

System.Net.Http ...

Get C# 7 and .NET Core: Modern Cross-Platform Development - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.