ASP.NET Core Tutorials
In this ASP.NET Core Tutorials series, I will discuss all the basic, intermediate, and advanced concepts of ASP.NET Core. These ASP.NET Core tutorials will help you to build rich data-driven web applications. At the end of this ASP.NET Core Tutorial series, you will be better positioned to develop different kinds of Real-time applications using EF Core, SQL Server Database, ASP.NET Core Identity, etc. You will learn ASP.NET Core basics, ASP.NET Core Razor Pages, ASP.NET Core MVC, Blazor, Entity Framework Core, and ASP.NET Core Web API.
These ASP.NET Core Tutorials are for whom?
These ASP.NET Core Tutorials are designed for Beginners and Professional Developers who want to learn ASP.NET Core step by step. We will provide a hands-on approach to the subject with step-by-step program examples that will assist you in learning and putting the acquired knowledge into practice.
ASP.NET Core (.NET):
ASP.NET Core (.NET) is a free, open-source, and cloud-optimized framework that can run on Windows, Linux, or macOS. It is the new version of ASP.NET. The framework was completely rewritten to be open-source, modular, and cross-platform.
ASP.NET Core:
-> Web Framework
-> Open-Source
-> Cross-Platform
-> Modular
-> Cloud Optimize
-> Runs on top of the .NET Core and .NET Framework
What is .NET Core?
.NET Core is the new version of the .NET Framework, a free, open-source, general-purpose development platform maintained by Microsoft. It was designed to build modern, high-performance, and scalable applications that could run on Windows, macOS, and Linux. .NET Core aimed to provide a unified platform for developing various applications, including web applications, desktop applications, microservices, and more.
.NET Core is written from scratch to be a modular, lightweight, fast, and cross-platform framework. It includes the core features required to run a basic .NET Core app. Other features are provided as NuGet Packages, which you can add to your application as needed. In this way, the .NET Core application speeds up performance, reduces the memory footprint, and becomes easy to maintain.
Why .NET Core Over .NET Framework?
There are some limitations to the .NET Framework. For example, it only runs on the Windows Platform. Also, you need to use different .NET APIs for different Windows devices such as Windows Desktop, Windows Store, Windows Phone, and Web Applications. The following are some of the reasons why you might choose .NET Core over .NET Framework for your application development:
- Cross-Platform Compatibility: .NET Core was designed from the ground up to be cross-platform, allowing you to develop applications that can run on Windows, macOS, and Linux. .NET Framework, on the other hand, was primarily Windows-centric. If you needed your application to work on non-Windows platforms, .NET Core was the better choice.
- Open Source: .NET Core was open source, meaning you can access the source code and contribute to its development. This allows you to customize the framework to suit your needs better. .NET Framework was not open source. If you need an Open Source framework for your application, then .NET Core is the winner here.
- Performance and Modernization: .NET Core was optimized for performance and suitable for modern application development. It included features like just-in-time (JIT) compilation, which improved runtime performance, and support for modern application patterns like microservices and containerization. .NET Framework was designed in an earlier era and lacked these features.
- Long-Term Support (LTS): .NET Core introduced the concept of LTS releases, which provided a stable and supported platform for an extended period. This was particularly important for enterprise applications that required long-term stability and security updates. Currently, Microsoft will not provide any new enhancements for the .NET Framework.
Note: Microsoft continued encouraging developers to migrate from .NET Framework to .NET Core and the subsequent .NET 5+ versions to take advantage of the benefits mentioned above.
.NET Core Characteristics:
Open-Source Framework: .NET Core is an open-source framework maintained by Microsoft and available on GitHub under MIT and Apache 2 Licenses. You can view, download, or contribute to the source code using the following GitHub repositories:
.NET Core Runtime: https://github.com/dotnet/runtime
.NET Core SDK: https://github.com/dotnet/sdk
ASP.NET Core: https://github.com/dotnet/aspnetcore
Language Compiler Platform Roslyn: https://github.com/dotnet/roslyn
CLI Tools: .NET Core includes CLI tools (Command Line Interface) for development and continuous integration.
Flexible Deployment: .NET Core applications can be deployed user-wide or system-wide or with Docker Containers.
Compatibility: Compatible with .NET Framework and Mono APIs using .NET Standard Specification.
.NET Core:
Developer(s): .NET Foundation
Initial Release: .NET Core 1.0 – 27th June 2016
Stable Release: .NET 8
Preview Release: .NET 9
Repository: github.com/dotnet/core
Written: C++ and C#
Operating System: Windows, Linux, and macOS
Type: Software Framework
Website: dotnet.microsoft.com
.NET Core Versions:
A new major release of .NET is published every year in November, enabling developers, the community, and businesses to plan their roadmaps. Even numbered releases are LTS releases with free support and patches for three years. Odd-numbered releases are STS releases with free support and patches for 18 months.
.NET Core has evolved over various versions, with each version introducing new features, improvements, and changes. Here are some notable features introduced in each major version of .NET Core:
.NET Core 1.0 (Initial Release – June 2016):
- Initial release of .NET Core.
- Cross-platform support (Windows, macOS, and Linux).
- Introduction of the Command-Line Interface (CLI) tools.
- CoreCLR (Core Common Language Runtime), the cross-platform CLR.
- CoreFX, the foundational libraries.
- Support for ASP.NET Core for web applications.
- NuGet package manager for dependency management.
.NET Core 1.1 (November 2016):
- Performance improvements and bug fixes.
- Enhanced compatibility with .NET Framework libraries.
- More APIs were added to increase compatibility with the .NET Framework.
- Azure support enhancements.
- Entity Framework Core 1.1 included improvements and new features.
.NET Core 2.0 (August 2017):
- Introduction of .NET Standard 2.0 for uniform API specification.
- Enhanced tooling for Visual Studio.
- Major performance improvements.
- Expanded OS support and increased compatibility with .NET Framework.
- Visual Basic support was added.
- Introduction of Razor Pages in ASP.NET Core for page-based coding model.
.NET Core 2.1 (May 2018):
- Span<T> and Memory<T> for performance improvements in buffer management.
- Improved support for Linux containers.
- SignalR for real-time web functionality.
- Improved build performance and runtime compilation.
- Global tools for extending the CLI.
- GDPR compliance features in ASP.NET Core.
.NET Core 2.2 (December 2018):
- HTTP/2 support in ASP.NET Core.
- Improved gRPC support.
- Enhanced diagnostic tools.
- Health Checks API for application health monitoring.
- Improved HTTP request routing.
- A new JIT compiler, a tiered compilation, which improves startup time.
.NET Core 3.0 (September 2019):
- Support for Windows Desktop Applications (WPF and Windows Forms).
- Introduction of C# 8.0.
- Performance improvements across the board.
- Support for IoT and AI workloads.
- Introduction of gRPC in ASP.NET Core.
.NET Core 3.1 (December 2019):
- LTS (Long-Term Support) release.
- Focus on stability and bug fixes.
- Enhanced performance and support for cloud-native applications.
- Blazor Server is used to build interactive web UIs using C#.
- Improved performance for JSON serialization and deserialization.
- Improved support for Azure Functions and Azure App Service.
.NET 5 (November 2020):
- .NET Core and .NET Framework were merged into a unified platform called “.NET 5.”. Microsoft dropped the “Core” branding from .NET 5 onward to unify the .NET platforms.
- Support for ARM64 architecture.
- Improved support for containers and cloud-native development.
- Improved single-file applications.
- Better performance improvements, including garbage collection and System.Text.Json.
- C# 9.0 with records, pattern-matching enhancements, and top-level programs.
- F# 5.0 with interactive programming and a performance boost.
- Blazor WebAssembly for full-stack web development with .NET.
.NET 6 (November 2021):
- Introduction of MAUI (Multi-platform App UI) for cross-platform app development.
- Support for HTTP/3.
- Unified platform for all .NET code.
- Long-term support (LTS) release.
- C# 10 and F# 6 with new features and enhancements.
- Minimal API for simplified and clean API endpoints in ASP.NET Core.
- Blazor Desktop allows Blazor components to run in desktop apps.
- Hot reload capabilities for .NET apps across different application types.
- AOT compilation for improved startup and support for Apple Silicon (M1).
.NET 7 (November 2022)
- Performance Improvements
- Introduction of new language features in C# 11
- Minimal APIs enhancements
- SignalR improvements
- General Availability of .NET MAUI
- Container improvements
- Enhanced support for gRPC
- Integration with Azure AI and ML features
- Hot Reload improvements for .NET and Visual Studio
- Better support for Kubernetes
.NET 8 (November 2023)
- Performance Enhancements
- C# 12 Integration
- JSON Handling
- ASP.NET Core Improvements
- .NET MAUI Enhancements
- Cryptography and Security improvements
- AI and Machine Learning Enhanced support
- Extended Native AOT (Ahead-of-Time) Compilation
These are key features introduced in each version of .NET Core and the subsequent unified .NET platform. It’s important to note that the .NET ecosystem continues to evolve, with new features and improvements regularly added in subsequent versions beyond .NET 6.
.NET Core Composition:
The .NET Core Framework is composed of the following parts:
- CLI Tools: A set of tooling for development and deployment.
- Roslyn: .NET Compiler Platform.
- CoreFx: A Set of framework libraries.
- CoreCLR: A JIT-based CLR (Common Language Runtime). CoreCLR is the .NET execution engine in .NET Core, performing garbage collection and machine code compilation functions.
What Type of Application Can You Develop with ASP.NET Core?
- Web: ASP.NET Core MVC, Web API, Razor Pages, and Microservices
- Mobile
- Console
- Desktop Applications (Starting from 3.0)
- IoT
- ML
- Gaming Applications
- Cloud Applications
Application Types: We will discuss the following as part of this course.
- ASP.NET Core with Razor Pages
- ASP.NET Core with MVC (ASP.NET Core MVC or Core MVC or MVC Core)
- ASP.NET Core with WEB API (ASP.NET Core Web API or Core Web API or Web API Core)
- ASP.NET Core with Angular (Single Page Application)
- ASP.NET Core with React JS (Single Page Application)
- ASP.NET Core with React JS & Redux (Single Page Application)
Note: If we missed any topics in this ASP.NET Core Course, please let us know by commenting in the Comment Box, and we promise that as soon as possible, we will publish articles on that topic.
Lastly, your valuable feedback is essential and means a lot to us. So, if you have a few minutes, please let us know your thoughts and feedback on this ASP.NET Core course.
Hello,
Why I can’t browse the contents in this website any more? It does not show any Course Info and Navigation.
Thank you.
Henry
Regard
Hi Henry,
Sorry for the inconvenience problem. You can check now.
It was such a great article.
Thank you
Very helpful tutorial!
Are you planning to update this tutorial according to .NET Core 3.1 and Visual Studio 2019?
And complete the missing lessons such as Model Validating etc.?
Thanks
Yes, We are going to update this tutorials according to .NET Core 3.1 and Visual Studio 2019
Sir, you are an amazing teacher! can’t describe in words!! Thank you very much for your help and looking forward for the rest of articles.
Can you update this article for asp.net core 3? This article is great and very useful
Yes. From very soon we will be update the articles to latest version as well as will add the next articles.
Sir I am waiting eagerly.
Hi,
DOTNETTUTORIALS are great, very accurate and explain concepts in a manner that are very easy to understand.
But, sir I found .net core course somewhat incomplete. For e.g concepts like validations, authentication, data annotations etc are not touched at all.
Sir I would be really thankful if you could provide some more knowledge on .net core. As I am already addicted to the way you teach, so articles provided by you will really help.
Thanks,
Hi we are planning to update the dot net core with latest version and we are currently working on the same
Can I apply Angular 2 for Front-end development for web pages??
Its because I want to create a web site that can store pictures from my users, but I also want it to be eyr-candy for users.
I’m always confused if I need to learn ASP.NET Core because I always understand that it serves only as a backend project usage.
Please do the tutorial for asp.net
Dear Sir,
It is requested, Kindly do the tutorial for SharePoint Tutorials on-premise (on-prem) and Office 3659(online).
Respect sir, articles on this site are great, helped me a lot for the interview.
Please create Azure tutorials as well as today this is mandatory for dot net developer.
PLease add the following projects architecture and desription, it will add more value to the tutorial.
NET Core with Angular (Single Page Application)
NET Core with React JS (Single Page Application)
NET Core with React JS & Redux (Single Page Application)
Thanks
Here all content is so useful and helpful for beginners and experienced both. This site is so amazing, This site gives good knowledge of Aspdot-net, This is very helpful for me.
It’s an awesome website for .NET DEVELOPERS.. One place to learn new technologies under .Net and to brush-up your skills for Interview preparation. Highly recommended for Microsoft .Net Developers
Thanks for your feedback.
wow this is such a good article
Your feedback means a lot to us. Keep learning and keep sharing your feedback.
I need a full tutorials(ASP.NET core web API). If there is a any possibility to buy a book.
when I try to open MVC tutorial it is showing .Net Core related tutorial.
Please check the url binding.
all content is so useful and helpful for beginners and experienced both.
try to create sample code and share that debugged code so we can clearly understand