Introducing Real-World Web Development Using .NET
This book is about mature and proven web development with .NET. This means a set of technologies that have been refined over a decade or more with plenty of documentation, support forums, and third-party investment. These technologies are:
- .NET: A free, open-source developer platform from Microsoft for building and running cross-platform apps, including web, desktop, mobile, cloud, and games, using languages like C#, F#, and Visual Basic.
- ASP.NET Core: A set of shared components for building websites and services using .NET. This book covers a subset of its features, including the following:
- ASP.NET Core MVC: An implementation of the model-view-controller design pattern for complex yet well-structured website development
- ASP.NET Core Web API: For building controller-based web services that conform to the HTTP/REST service architecture conventions
- ASP.NET Core OData: For building data access web services using an open standard
- FastEndpoints: A third-party web service platform built on ASP.NET Core.
- Umbraco CMS: A third-party, open-source, content management system (CMS) platform built on ASP.NET Core.
With these technologies, you will learn how to build cross-platform websites and web services using .NET 10.
A benefit of choosing .NET 10 is that it is a Long-Term Support (LTS) release, meaning it is supported for three years. .NET 10 was released in November 2025, and it will reach its end of life in November 2028. After .NET 11 is released in November 2026, you can target it, but be aware that it is a Standard Term Support (STS) release, and it will reach its end of life in November 2028, on the same day as .NET 10. You can learn more about STS 24-month support durations at the following link:
https://devblogs.microsoft.com/dotnet/dotnet-sts-releases-supported-for-24-months/.
Usually, the benefits of choosing the latest .NET version are performance improvements and better support for containerization in cloud hosting compared to earlier versions.
Throughout this book, I use the term modern .NET to refer to .NET 10 and its predecessors, like .NET 6, that derive from .NET Core. I use the term legacy .NET to refer to .NET Framework, Mono, Xamarin, and .NET Standard. Modern .NET is a unification of those legacy platforms and standards.
Who are you? While writing this book, I have assumed that you are a .NET developer who is employed by a consultancy or a large organization. As such, you primarily work with mature and proven technologies like MVC rather than the newest shiny technologies pushed by Microsoft like Blazor. I also assume that you have little professional interest in being a web designer or content editor. You are much more concerned with how well a software product works rather than looks.
I assume you have already set up your development environment to use Visual Studio 2026, Visual Studio Code, or JetBrains Rider. Throughout this book, I will use the names Visual Studio, VS Code, and Rider to refer to these three code editors, respectively. If you have not set up your development environment, then you can learn how to in Appendix B, Setting Up Your Development Environment, or at the following link:
https://github.com/markjprice/web-dev-net10/blob/main/docs/ch01-setup-dev-env.md.
Warning! Prerequisites for this book are knowledge of C# and .NET fundamentals, including how to build .NET projects with a tool like Visual Studio or the dotnet command-line interface (CLI). You can learn these skills from my book, C# 14 and .NET 10 – Modern Cross-Platform Development Fundamentals.
I recommend that you work through this and subsequent chapters sequentially because later chapters will reference projects in earlier chapters, and you will build up sufficient knowledge and skills to tackle the more challenging problems in later chapters. For example, a section in this chapter will walk you through creating a pair of class libraries that define a database entity model that will be used in subsequent chapters.
In this chapter, we will cover the following topics:
- Introducing this book and its siblings
- Understanding ASP.NET Core
- Making good use of the GitHub repository for this book
- Structuring projects and managing packages
- Building an entity model for use in the rest of the book
- Looking for help
- Using future versions of .NET with this book
- Understanding web development