What Is .NET Standard
Content on WhatAnswers is provided "as is" for informational purposes. While we strive for accuracy, we make no guarantees. Content is AI-assisted and should not be used as professional advice.
Last updated: April 10, 2026
Key Facts
- .NET Standard 2.0 introduced in September 2017 with 21,000+ APIs for broad compatibility across implementations
- .NET Standard is now in maintenance mode since .NET 5 (November 2020) unified the ecosystem under a single platform
- Each .NET implementation (Framework, Core, Xamarin, Mono) maps to different .NET Standard versions it supports
- .NET Standard enables code portability across desktop, mobile, IoT, and web applications with one compiled library
- .NET Standard 2.1 represents the final major version, focusing on refinement rather than expansion of the API surface
Overview
.NET Standard is a formal specification of .NET APIs created by Microsoft to establish a unified base of functionality across different .NET implementations. Rather than being a runtime or framework itself, .NET Standard acts as a contract—a documented set of APIs that each .NET implementation agrees to support. This specification was introduced in 2016 to solve a fragmentation problem where developers faced incompatible platforms: the Windows-only .NET Framework, the new cross-platform .NET Core, Xamarin for mobile, and Mono for alternative environments.
The specification includes all the common libraries and APIs available across multiple .NET platforms, ensuring that a library or application built targeting .NET Standard can run on any implementation that supports that standard version. .NET Standard 2.0, released in September 2017, became the most widely adopted version, containing over 21,000 APIs. The final major version, .NET Standard 2.1, arrived in August 2018. Since the release of .NET 5 in November 2020, which unified the ecosystem under a single modern platform, .NET Standard has transitioned into maintenance mode, though it remains relevant for maintaining compatibility with legacy applications.
How It Works
.NET Standard functions as a layered compatibility model where each implementation supports different versions of the standard:
- Versioning Hierarchy: .NET Standard uses version numbers (1.0 through 2.1) where higher versions include all APIs from lower versions. An implementation supporting .NET Standard 2.0 automatically supports everything in 1.6 and below, creating a clear upgrade path for developers.
- Implementation Mapping: Each .NET runtime (Framework, Core, Xamarin, Mono) maps to the highest .NET Standard version it fully implements. For example, .NET Framework 4.6.1 supports .NET Standard 2.0, while .NET Core 1.0 supports only up to .NET Standard 1.6.
- Library Targeting: When developers create a library targeting .NET Standard 2.0, they write against that specification's API surface. The compiled library can then be consumed by any .NET implementation supporting 2.0 or higher, maximizing reusability without platform-specific code.
- Compiler Enforcement: The .NET toolchain prevents developers from using APIs beyond the target .NET Standard version, catching compatibility issues at compile time rather than runtime, reducing deployment failures.
- Backwards Compatibility: Targeting a lower .NET Standard version (like 1.6) makes a library compatible with more platforms, though with access to fewer APIs. Developers choose the minimum standard version needed for their feature set.
Key Comparisons
| Aspect | .NET Standard | .NET Framework | .NET Core / .NET |
|---|---|---|---|
| Platform Support | Specification layer for multiple implementations | Windows only | Windows, Linux, macOS |
| Release Date | 2016 (announcement), 2.0 in 2017 | 2002 (v1.0) | 2016 (Core 1.0) |
| Primary Use Case | Creating portable libraries | Legacy enterprise applications | Modern cross-platform applications |
| Current Status | Maintenance mode since .NET 5 | Support ending October 2026 | Active development and recommended |
| API Surface | 21,000+ APIs (2.0) | ~17,000 APIs | Superset of .NET Standard 2.1 |
Why It Matters
- Library Portability: Before .NET Standard, developers needed to maintain separate library versions for each platform. .NET Standard eliminated this burden by allowing single-source libraries to target multiple runtimes, dramatically reducing maintenance overhead and bugs from version divergence.
- Enterprise Migration Path: Organizations transitioning from .NET Framework to modern .NET could reuse existing libraries by targeting .NET Standard during the migration, reducing the cost and complexity of platform upgrades without complete rewrites.
- Ecosystem Growth: The NuGet package ecosystem expanded significantly with .NET Standard's introduction because package authors could publish single libraries supporting multiple platforms, increasing library availability across the .NET ecosystem.
- Long-term Viability: Even as .NET Standard transitions to maintenance mode, it remains essential for maintaining compatibility with legacy code and supporting the last users of .NET Framework and older Xamarin deployments still in production.
.NET Standard represents a pivotal moment in .NET history where fragmentation gave way to unified compatibility. While the newer unified .NET platform (version 5+) has become the primary recommendation for new projects, understanding .NET Standard remains crucial for maintaining existing codebases, supporting diverse deployment scenarios, and appreciating how the modern .NET ecosystem solved the interoperability challenges that plagued earlier versions.
More What Is in Daily Life
Also in Daily Life
More "What Is" Questions
Trending on WhatAnswers
Browse by Topic
Browse by Question Type
Sources
Missing an answer?
Suggest a question and we'll generate an answer for it.