Lifecycle FAQ—.NET Core

.NET Core is a set of runtime, library and compiler components which can be used in various configurations for device and cloud workloads. Cross-platform and open source, .NET Core provides a light weight development model and the flexibility to work a variety of development tools OS platforms. .NET Core is available on GitHub under the MIT license..NET Core refers to several technologies including .NET Core, ASP.NET Core and Entity Framework Core.

.NET Core will have major and minor releases which represent related but separate release streams. Major releases will be highly stable, low change releases. A major release will be supported for three years after it ships, or 12 months after the next major release ships, whichever is shorter. For example, .NET Core 1.0 will be a major release and supported for 12 months after the release of .NET Core 2.0.

A major release may have multiple minor releases. For example, .NET Core 1.0 may be updated with .NET Core 1.1, 1.2, and more. Minor releases represent a faster rate of change and innovation and will be supported within the same three-year window as the parent (major) release. Customers must be at the latest minor release level within three months in order to continue to be supported. For example, once .NET Core 1.2 is released customers must update from .NET Core 1.1 to .NET Core 1.2.

Microsoft will support both the stable (major) and more frequent (minor) trains. A customer can choose which train they are on, and receive updates for their train.

For example a customer may choose the stable, .NET 1.0 release train and as long as they stay on this train they will be supported for three years or 12 months after the release of the next stable release (For example, 2.0).

A customer may also choose to be on the faster release cadence and install .NET Core 1.1 when it is available. Support will be available as long as the customer stays on the latest minor update level. For example, once .NET Core 1.2 ships, the customer on the faster release train have to update to .NET Core 1.2 within three months in order to receive support.

In some cases, installing a third-party component or library through NuGet may be a pre-requisite for using .NET Core. Support for these components will come from the vendor that ships those components or libraries.

.NET Core releases for certain platforms such as Red Hat Enterprise Linux will be published by Red Hat instead of Microsoft. For these platforms, updates for .NET Core will be made available to the vendor for deployment through their systems.

.NET Core and the .NET Framework (generally) have a subset-superset relationship. .NET Core is named as "Core" because it contains the core features from the .NET Framework for both the runtime and framework libraries. For example, .NET Core and the .NET Framework share the GC, the JIT and types such as String and List<T>.

.NET Core was created so that .NET could be open source, cross platform and be used in more resource-constrained environments.

.NET Core is a new development platform and releases for .NET Core will follow an agile and faster release cadence. Applications based on the .NET Framework are widely deployed across hundreds of millions of computers and therefore there is a high bar for compatibility and stability. This results in releases for the .NET Framework being less frequent and more scoped in the nature and number of changes. Due to these differences .NET Core releases will follow their own lifecycle.

No. .NET Core releases are a new development platform. If you are using the .NET Framework 4.5.x or .NET 4.6.x, you do not have to update your application to work with .NET Core. That said, the .NET Core development platform offers several advantages over the Microsoft .NET Framework. You can find more information here.