Back to all posts

The History of .NET — Part 9 (.NET Core (2016–2019): A Fresh Start for .NET)

Amal HashimOctober 8, 202036 views

.NET Core (2016–2019): A Fresh Start for .NET

First Released: June 2016

By the mid-2010s, software development had changed. Cloud computing, containers, and Linux servers were becoming mainstream.

The Windows-only .NET Framework no longer fit every scenario. Microsoft needed a new direction.

The result was .NET Core — a rebuilt, modular, and cross-platform version of .NET.

Cross-Platform by Design

For the first time, .NET applications could run natively on:

  • Windows
  • Linux
  • macOS

This opened .NET to cloud environments and non-Windows servers, dramatically expanding its reach.

Open Source .NET

.NET Core was fully open source and hosted on GitHub.

  • Community contributions
  • Transparent development
  • Faster innovation cycles

This was a major cultural shift for Microsoft and for .NET itself.

Modular and Lightweight

Unlike the monolithic .NET Framework, .NET Core was modular.

  • Install only what you need
  • NuGet-based framework components
  • Smaller deployments

This made applications faster to deploy and easier to maintain.

High Performance

Performance became a top priority.

  • Optimized runtime
  • Faster Kestrel web server
  • Improved JIT compiler (RyuJIT)

ASP.NET Core quickly gained a reputation for speed and scalability.

Command-Line First

.NET Core introduced a modern CLI experience.

  • dotnet new
  • dotnet build
  • dotnet run

Developers could build and deploy without relying solely on Visual Studio.

.NET Core 3.0 and 3.1

Later versions expanded capabilities significantly.

  • WinForms and WPF support on Windows
  • gRPC support
  • Performance improvements

.NET Core 3.1 became a popular LTS release for enterprise adoption.

The Bigger Picture

.NET Core was more than a new runtime. It was a strategic reboot for .NET.

Cross-platform support, open source, and cloud readiness defined its identity.

This set the stage for the next big step: a unified .NET platform.

Up next: Part 10 — .NET 5 and the unification of .NET.