The .NET platform is built for productivity, performance, security, and reliability. It uses a garbage collector for automatic memory management and enforces type safety and memory safety through strict language compilers. .NET also supports modern concurrency with async/await and Task-based primitives, and includes a broad, highly optimized library ecosystem that runs efficiently across multiple operating systems and CPU architectures.
Features
Build it with .NET:
Web
- Build web apps and services for macOS, Windows, Linux, and Docker.
Mobile and desktop
- Use a single codebase to build native apps for Windows, macOS, iOS, and Android.
Cloud
- Build scalable and resilient cloud-native apps that run on all major cloud providers.
Artificial Intelligence and ML
- Build smart apps with C#, OpenAI, and Azure.
Faster response times, less compute power, better applications
- The Fortunes test simulates a simple web application where HTML is rendered server-side after querying a database.
Free and open source
- .NET is developed and maintained as a free and open-source project on GitHub, the home for millions of developers who want to build great things together.
Fast and cross-platform
- You can write, run, and build on multiple platforms, including Windows, Linux, and macOS.
.NET has the following design points:
- Productivity is full-stack with runtime, libraries, languages, and tools all contributing to developer user experience.
- Safe code is the primary compute model, while unsafe code enables additional manual optimizations.
- Static and dynamic code are both supported, enabling a broad set of distinct scenarios.
- Native code interop and hardware intrinsics are low cost and high-fidelity (raw API and instruction access).
- Code is portable across platforms (OS and chip architecture), while platform targeting enables specialization and optimization.
- Adaptability across programming domains (cloud, client, gaming) is enabled with specialized implementations of the general-purpose programming model.
- Industry standards like OpenTelemetry and gRPC are favored over bespoke solutions.
.NET is maintained collaboratively by Microsoft and a global community. Regular updates ensure users deploy secure and reliable applications to production environments.
Components
.NET includes the following components:
- Runtime – executes application code.
- Libraries – provides utility functionality like JSON parsing.
- Compiler – compiles C# (and other languages) source code into (runtime) executable code.
- SDK and other tools – enable building and monitoring apps with modern workflows.
- App stacks – like ASP.NET Core and Windows Forms, that enable writing apps.
The runtime, libraries, and languages are the pillars of the .NET stack. Higher-level components, like .NET tools, and app stacks, like ASP.NET Core, build on top of these pillars. C# is the primary programming language for .NET and much of .NET is written in C#.
C# is object-oriented and the runtime supports object orientation. C# requires garbage collection and the runtime provides a tracing garbage collector. The libraries (and also the app stacks) shape those capabilities into concepts and object models that enable developers to productively write algorithms in intuitive workflows.
The core libraries expose thousands of types, many of which integrate with and fuel the C# language. For example, C#'s foreach statement lets you enumerate arbitrary collections. Pattern-based optimizations enable collections like List
What's New
.NET 10, the successor to .NET 9, is supported for three years as a long-term support (LTS) release.
.NET runtime
- The .NET 10 runtime introduces improvements in JIT inlining, method devirtualization, and stack allocations. It also includes AVX10.2 support, NativeAOT enhancements, improved code generation for struct arguments, and enhanced loop inversion for better optimization.
.NET libraries
- The .NET 10 libraries introduce new APIs in cryptography, globalization, numerics, serialization, collections, and diagnostics, and when working with ZIP files. New JSON serialization options include disallowing duplicate properties, strict serialization settings, and PipeReader support for improved efficiency. Post-quantum cryptography support has been expanded with Windows Cryptography API: Next Generation (CNG) support, enhanced ML-DSA with simplified APIs and HashML-DSA support, plus Composite ML-DSA. Additional cryptography enhancements include AES KeyWrap with Padding support. New networking capabilities include WebSocketStream for simplified WebSocket usage and TLS 1.3 support for macOS clients. Process management gains Windows process group support for better signal isolation.
.NET SDK
- The .NET 10 SDK includes support for Microsoft.Testing.Platform in dotnet test, standardizes CLI command order, and updates the CLI to generate native tab-completion scripts for popular shells. For containers, console apps can natively create container images, and a new property lets you explicitly set the format of container images. The SDK also supports platform-specific .NET tools with enhanced compatibility via the any RuntimeIdentifier, one-shot tool execution with dotnet tool exec, the new dnx tool execution script, CLI introspection with --cli-schema, and enhanced file-based apps with publish support and native AOT.
ASP.NET Core
- The ASP.NET Core 10.0 release introduces several new features and enhancements, including Blazor improvements, OpenAPI enhancements, and minimal API updates. Features include Blazor WebAssembly preloading, automatic memory pool eviction, enhanced form validation, improved diagnostics, and passkey support for Identity.
C# 14
C# 14 introduces several new features and enhancements to improve developer productivity and code quality. Key updates include:
- Field-backed properties provide a smoother path from auto-implemented properties to writing custom get and set accessors. You can access the compiler-generated backing field using the field contextual keyword.
- The nameof expression now supports unbound generic types, such as List, where it returns the name of the type without requiring a type argument.
- First-class support for implicit conversions of Span
and ReadOnlySpan . - Parameter modifiers like ref, in, or out are allowed in lambda expressions without specifying parameter types.
- Support for partial instance constructors and partial events, complementing partial methods and properties introduced in C# 13.
- New extension blocks add support for static extension methods, and static and instance extension properties.
- Null-conditional assignment using the ?. operator.
- User-defined compound assignment operators like += and -=.
- User-defined increment (++) and decrement (--) operators.
F#
The F# updates in .NET 10 include several new features and improvements across the language, standard library, and compiler service. Key updates include:
- F# Language:
- New language features require enabling the
preview project property in .fsproj files. These features become the default with the .NET 10 release.
- New language features require enabling the
- FSharp.Core Standard Library:
- Changes to the FSharp.Core standard library are applied automatically to projects compiled with the new SDK unless a lower FSharp.Core version is explicitly pinned.
- FSharp.Compiler.Service:
- General improvements and bug fixes in the compiler implementation.
Visual Basic
The Visual Basic updates in .NET 10 include the following enhancements to the compiler:
- The compiler now interprets and enforces the unmanaged generic constraint, which enables better compatibility with runtime APIs.
- The compiler respects the OverloadResolutionPriorityAttribute. This enhancement ensures faster, Span-based overloads are preferred and helps to resolve overload ambiguities.
- These updates ensure that Visual Basic can consume updated features in C# and the runtime.
.NET MAUI
- The .NET MAUI updates in .NET 10 include several new features and quality improvements for .NET MAUI, .NET for Android, and .NET for iOS, Mac Catalyst, macOS, and tvOS. Features include MediaPicker enhancements for selecting multiple files and image compression, WebView request interception, and support for Android API levels 35 and 36.
EF Core
- The EF Core 10 release introduces several new features and improvements, including LINQ enhancements, performance optimizations, improved support for Azure Cosmos DB, and named query filters that allow multiple filters per entity type with selective disabling.
Windows Forms
- Changes in Windows Forms for .NET 10 include clipboard-related updates, ported UITypeEditors from .NET Framework, and quality enhancements.
WPF
- The WPF updates in .NET 10 include several performance improvements, Fluent style changes, bug fixes, and more.


