Microsoft .NET 5.0 is a free, cross-platform, open-source developer platform for building many different types of applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, games, and IoT.
It helps you develop high-quality applications faster. Modern language constructs like generics, Language Integrated Query (LINQ), and asynchronous programming make developers productive.
Combined with the extensive class libraries, common APIs, multi-language support, and the powerful tooling provided by the Visual Studio family, Microsoft .NET is the most productive platform for developers.
Any app, any platform
With .NET you can target any application type running on any platform. Developers can reuse skills and code across all of them in a familiar environment. From mobile applications running on iOS, Android, and Windows, to Enterprise server applications running on Windows Server and Linux, or high-scale microservices running in the cloud, .NET provides a solution for you.
You can write apps in C#, F#, or Visual Basic.
- C# is a simple, modern, object-oriented, and type-safe programming language.
- F# is a cross-platform, open-source, functional programming language. It also includes object-oriented and imperative programming.
- Visual Basic is an approachable language with a simple syntax for building type-safe, object-oriented apps.
Whether you’re working in C#, F#, or Visual Basic, your code will run natively on any compatible OS.
- .NET Core is a cross-platform .NET implementation for websites, servers, and console apps on Windows, Linux, and macOS.
- Xamarin/Mono is an implementation for running apps on all the major mobile operating systems.
- .NET Framework supports websites, services, desktop apps, and more on Windows.
One consistent API
Standard is a base set of APIs that are common to all implementations.
Each implementation can also expose additional APIs that are specific to the operating systems it runs on. For example, the .NET Framework is a Windows-only .NET implementation that includes APIs for accessing the Windows Registry.
You can build many types of apps. Some are cross-platform, and some target a specific OS or .NET implementation.
- Web. Build web apps and services for Windows, Linux, macOS, and Docker.
- Mobile. Use a single codebase to build native mobile apps for iOS, Android, and Windows.
- Desktop. Create beautiful and compelling desktop apps for Windows and macOS.
- Microservices. Create independently deployable microservices that run on Docker containers.
- Game Development. Develop 2D and 3D games for the most popular desktops, phones, and consoles.
- Machine Learning. Add vision algorithms, speech processing, predictive models, and more to your apps.
- Cloud. Consume existing cloud services, or create and deploy your own.
- Internet of Things. Make IoT apps, with native support for the Raspberry Pi and other single-board computers.
NET 5.0 is the next major release of .NET Core following 3.1. We named this new release .NET 5.0 instead of .NET Core 4.0 for two reasons:
- We skipped version numbers 4.x to avoid confusion with .NET Framework 4.x.
- We dropped “Core” from the name to emphasize that this is the main implementation of .NET going forward. .NET 5.0 supports more types of apps and more platforms than .NET Core or .NET Framework.
ASP.NET Core 5.0 is based on .NET 5.0 but retains the name “Core” to avoid confusing it with ASP.NET MVC 5. Likewise, Entity Framework Core 5.0 retains the name “Core” to avoid confusing it with Entity Framework 5 and 6.
.NET 5.0 includes the following improvements and new features compared to .NET Core 3.1:
- C# updates
- F# updates
- Visual Basic updates
- System.Text.Json new features
- Single file apps
- App trimming
- Windows ARM64 and ARM64 intrinsics
- Tooling support for dump debugging
- The runtime libraries are 80% annotated for nullable reference types
- Performance improvements:
NET 5.0 doesn’t replace .NET Framework
.NET 5.0 is the main implementation of .NET going forward and .NET Framework 4.x is still supported.
NET 5.0 doesn’t replace .NET Standard
New application development can specify the net5.0 target framework moniker (TFM) for all project types, including class libraries. Sharing code between .NET 5 workloads is simplified in that all you need is the net5.0 TFM.
For .NET 5.0 apps and libraries, the net5.0 Target Framework Moniker (TFM) combines and replaces the netcoreapp and netstandard TFMs. However, if you plan to share code between .NET Framework, .NET Core, and .NET 5 workloads, you can do so by specifying netstandard2.0 as your TFM. For more information, see .NET Standard.
Supported on Windows, Linux, and macOS
Size: 142 MB