.NET 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, gaming, and IoT.
The .NET platform
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications. The base platform provides components that apply to all different types of apps. Additional frameworks, such as ASP.NET, extend .NET with components for building specific types of apps.
Here are some things included in the .NET platform:
- The C#, F#, and Visual Basic programming languages
- Base libraries for working with strings, dates, files/IO, and more
- Editors and tools for Windows, Linux, macOS, and Docker.
ASP.NET extends .NET
ASP.NET extends the .NET platform with tools and libraries specifically for building web apps. These are some things that ASP.NET adds to the .NET platform:
- Base framework for processing web requests in C# or F#.
- Web-page templating syntax, known as Razor, for building dynamic web pages using C#.
- Libraries for common web patterns, such as Model View Controller (MVC).
- Authentication system that includes libraries, a database, and template pages for handling logins, including multi-factor authentication and external authentication with Google, Twitter, and more.
- Editor extensions to provide syntax highlighting, code completion, and other functionality specifically for developing web pages.
Open-source on GitHub
.NET Core is an open-source and cross-platform version of .NET that is maintained by Microsoft and the .NET community on GitHub. All aspects of .NET Core are open-source including class libraries, runtime, compilers, languages, ASP.NET Core web framework, Windows desktop frameworks, and Entity Framework Core data access library.
Open for contributions
Yes, we do accept contributions! As with any open-source project we don't just blindly accept everything. The pull requests we receive are reviewed for quality and to ensure they align with the goals of .NET. We've already accepted contributions from over 60,000 developers and 3,700 companies.
MIT and Apache 2 licenses
The various parts of .NET Core are maintained in different GitHub repositories. These repositories typically use the MIT or Apache 2 licenses. Some repositories license documentation and other forms of content under Creative Commons Attribution 4.0. See specific repositories to understand the license used.
The .NET Foundation is an independent organization to foster open development and collaboration around the .NET ecosystem. Over 50 open-source projects are part of the .NET Foundation. Microsoft as well as others like Pivotal, Google, Samsung and Red Hat have made significant contributions, in addition to our broader community. See how you can get involved with the .NET Foundation.
ASP.NET apps can be developed and run on Windows, Linux, macOS, and Docker. The Visual Studio family of products has tools for building .NET apps on any operating system. There are also command line tools and extensions for many popular editors.
Pages, APIs, real-time, and microservices
ASP.NET allows you to build many types of web applications, including web pages, REST API s, microservices, and hubs that push real-time content to connected clients.
What is ASP.NET Core?
If you use ASP.NET, you'll soon come across the term ASP.NET Core. ASP.NET Core is the open-source and cross-platform version of ASP.NET. You should use ASP.NET Core for all new applications. The tutorials on this site all use ASP.NET Core.
The Windows-only versions of ASP.NET, that existed before ASP.NET Core, is typically just referred to as ASP.NET. The majority of innovation occurs in ASP.NET Core, but other versions continue to receive minor updates and bug-fixes.