.NET Standard
The .NET Standard is a formal specification of .NET APIs that are intended to be available on all .NET implementations. You can think of it as an “interface” for various .NET implementations (such as .NET Core, .NET Framework, and Mono), while the .NET implemenatons (such as .NET Core, .NET Framework, and Mono) all “implement” a version of .NET Standard.
.NET Standard allows libraries to build against the agreed on set of common APIs, ensuring they can be used in any .NET application—mobile, desktop, IoT, web, or anywhere you write .NET code.
.NET Standard is versioned. Each new version adds more APIs. When a library is built against a certain version of .NET Standard, it can run on any .NET implementation that implements that version of .NET Standard (or higher).
The following table lists the minimum platform versions that support each .NET Standard version. That means that later versions of a listed platform also support the corresponding .NET Standard version. For example, .NET Core 2.2 supports .NET Standard 2.0 and earlier.
.NET Standard |
1.0 |
1.1 |
1.2 |
1.3 |
1.4 |
1.5 |
1.6 |
2.0 |
2.1 |
.NET Core |
1.0 |
1.0 |
1.0 |
1.0 |
1.0 |
1.0 |
1.0 |
2.0 |
3.0 |
.NET Framework 1 |
4.5 |
4.5 |
4.5.1 |
4.6 |
4.6.1 |
4.6.1 2 |
4.6.1 2 |
4.6.1 2 |
N/A3 |
Mono |
4.6 |
4.6 |
4.6 |
4.6 |
4.6 |
4.6 |
4.6 |
5.4 |
6.4 |
Xamarin.iOS |
10.0 |
10.0 |
10.0 |
10.0 |
10.0 |
10.0 |
10.0 |
10.14 |
12.16 |
Xamarin.Mac |
3.0 |
3.0 |
3.0 |
3.0 |
3.0 |
3.0 |
3.0 |
3.8 |
5.16 |
Xamarin.Android |
7.0 |
7.0 |
7.0 |
7.0 |
7.0 |
7.0 |
7.0 |
8.0 |
10.0 |
Universal Windows Platform |
10.0 |
10.0 |
10.0 |
10.0 |
10.0 |
10.0.16299 |
10.0.16299 |
10.0.16299 |
TBD |
Unity |
2018.1 |
2018.1 |
2018.1 |
2018.1 |
2018.1 |
2018.1 |
2018.1 |
2018.1 |
TBD |