What is .NET Core?

An early look at .NET Core, Microsoft's radical new vision for a modular, cross-platform, and open-source .NET framework. Learn about the core principles behind this groundbreaking new platform.

For fifteen years, the .NET Framework has been a cornerstone of Windows development. It's a powerful and mature platform, but it has always been tied to Windows. In the modern world of cloud computing and diverse operating systems, that's a limitation. Now, Microsoft is undertaking its most ambitious project in years: a complete re-imagining of .NET for the new era. It's called .NET Core.

.NET Core is a new, modular, cross-platform, and open-source implementation of .NET. It's a massive shift in philosophy and technology, and it represents the future of the .NET platform.

What are the Goals of .NET Core?

.NET Core is not a replacement for the full .NET Framework, but a new version designed with a different set of priorities.

1. Cross-Platform

This is the most important goal. .NET Core is designed to run on Windows, macOS, and Linux. This means you can build a .NET application on your favorite OS and deploy it to a Linux server in the cloud. This is a monumental change for the .NET ecosystem.

2. Open-Source

.NET Core is being developed in the open on GitHub, under the stewardship of the .NET Foundation and with contributions from the community. This transparency and collaboration is a radical departure from Microsoft's historical approach and has been met with huge enthusiasm.

3. Modular and Lightweight

Unlike the monolithic .NET Framework, .NET Core is designed to be highly modular. It's distributed as a set of small NuGet packages. This means your application only needs to include the specific dependencies it needs, resulting in a smaller footprint and improved performance.

4. Flexible Deployment

.NET Core applications can be deployed in two ways:

  • Framework-dependent: Your application relies on a shared, system-wide installation of .NET Core. This results in a very small deployment package.
  • Self-contained: The .NET Core runtime is bundled with your application. This means your application is completely self-contained and can run on a machine without a pre-installed .NET Core runtime.

What Can You Build with It?

In its initial release, .NET Core is focused on building:

  • ASP.NET Core web applications and APIs.
  • Console applications for command-line tools and services.

ASP.NET Core itself has also been completely redesigned to be a lean, fast, and modular web framework, perfectly suited for building modern, cloud-native applications.

The .NET Standard

To manage code sharing between the .NET Framework, .NET Core, and Xamarin, Microsoft is introducing the concept of the .NET Standard. This is a formal specification of APIs that all .NET platforms will implement. By targeting a .NET Standard version, you can create libraries that are guaranteed to work across all flavors of .NET.

A New Beginning

.NET Core is one of the most exciting developments to come out of Microsoft in years. It's a bold bet on a future that is cross-platform, open-source, and cloud-first. While it's still in its early days, it represents a fundamental shift that will shape the .NET ecosystem for the next decade. For .NET developers, the future is no longer just Windows; it's everywhere.