If you typed "ms dot net" into a search box, you were looking for Microsoft .NET — usually written ".NET" and pronounced "dot net". It is Microsoft's developer platform: the runtime that executes your program, the libraries your program uses, the SDK that builds it, and the languages you write it in. This article explains the pieces and then answers the practical question underneath: what can you actually build with it?
What .NET contains
.NET is easier to understand as four layers that ship together:
- The runtime. The engine that loads and executes your code. It includes the garbage collector, the just-in-time compiler, and the type system. It provides memory safety, async execution, and the threading model your code depends on.
- The class libraries. Thousands of ready-made types for collections, text, networking, JSON, dates, cryptography, files, HTTP, and more. The web layer, ASP.NET Core, is itself a set of libraries that sit on top.
- The SDK and tooling. The
dotnetcommand-line interface, project files, build and publish commands, templates, and the test runner. It lets you create, build, run, and publish an application from any editor or terminal. - The languages. C# is the flagship, with F# for functional programming and VB.NET for legacy continuity. The platform is language-agnostic, but C# is what most .NET jobs and libraries use.
Everything is distributed through the same channels: a yearly release from Microsoft, packages from NuGet for third-party libraries, and container images for deployment.
The toolchain in practice
A complete .NET project needs no IDE and no global installation of a specific web server. The CLI is enough:
dotnet new webapi -n MyApi
cd MyApi
dotnet run
Those three commands create an ASP.NET Core API project, restore its dependencies, build it, and start it. Add dotnet test for the test suite, dotnet publish for a deployable output, and dotnet add package to pull in a NuGet package. Modern .NET applications carry their dependencies in the project file, not in a machine-wide registry — which is why the same codebase runs on a developer laptop, a Linux container, and a cloud host with no rewrite.
What can you build with .NET?
The honest answer is "most application software". The workloads below are all first-class, not experiments:
- Web applications and APIs. ASP.NET Core powers server-rendered applications built with MVC or Razor Pages, JSON APIs built with controllers or Minimal APIs, real-time features with SignalR, and service-to-service calls with gRPC.
- Enterprise backends. Business software such as CRM systems, inventory and warehouse management, HR tools, invoicing, and project tracking — usually as one well-structured application rather than a fleet of microservices.
- Desktop applications. WinForms and WPF for Windows, WinUI 3 for modern Windows experiences, and .NET MAUI for cross-platform desktop and mobile from one codebase.
- Mobile applications. .NET MAUI targets Android and iOS with shared C# logic and native controls.
- Cloud and serverless. Worker services, Azure Functions, containerized services, orchestration with .NET Aspire, and background processing with libraries such as Hangfire.
- Data and machine learning. EF Core for database access, ML.NET for model training and scoring, and data pipelines for import and reporting work.
- Automation and tools. Console applications and scripts that move files, call APIs, or run scheduled jobs — often replacing fragile shell scripts.
- Games. C# is the scripting language of Unity and a first-class language in Godot; MonoGame provides a code-first framework for 2D and 3D games.
- IoT and embedded. The .NET IoT libraries run on single-board computers and devices for sensor and device scenarios.
That breadth comes from a single shared foundation. A developer who learns C# and ASP.NET Core for a web application already knows the language, tooling, and package ecosystem needed for a desktop tool, a cloud worker, or a mobile companion app.
One platform, shared skills
The practical value of .NET's breadth is career leverage. Most professional .NET work happens in web applications and business software, but the same skills transfer sideways: async programming, dependency injection, testing, configuration, logging, and EF Core appear in almost every workload. When a team needs a background worker next to its web app, that is not a new platform — it is the same project with a different hosting model.
This is also why the rest of this guide stays focused. MVC, Razor, Minimal APIs, EF Core, CQRS, and Vertical Slice Architecture are not a niche inside .NET; they are the standard way modern .NET business software is built.
Free, open source, and supported
.NET is free for commercial use, and the runtime and web framework are developed openly on GitHub under permissive licenses. Microsoft maintains a predictable release cadence: a new major version every November, with Long Term Support for even-numbered versions. .NET 10 is the current LTS release, which is what the code in this guide targets. Microsoft's own introduction is a good next read: Microsoft Learn: .NET introduction.
To see how the web side of the platform is organized, continue with Part 4, ASP.NET Core Explained, or jump to Part 5, What Is MVC?
Key Takeaways
- Microsoft .NET is a platform: runtime, class libraries, SDK, and languages, with C# at the center.
- "ms dot net" and "microsoft dotnet" are search shorthand, not a different product.
- You can build web apps and APIs, desktop and mobile software, cloud services, data and ML pipelines, automation, IoT scenarios, and games.
- .NET 10 is the current LTS release; the platform is free, open source, and updated yearly.
FAQ
Is .NET free?
Yes. The runtime, SDK, C#, and ASP.NET Core are free for commercial use, and the core platform is open source under the MIT license.
What language does .NET use?
C# is the primary language, with F# and VB.NET supported as alternatives. Most tutorials, libraries, and job postings assume C#.
Is .NET only for Windows?
No. Modern .NET (5 through 10) runs on Windows, Linux, and macOS. Only the legacy .NET Framework is Windows-only.
What is the difference between .NET and C#?
C# is a programming language; .NET is the platform that runs it — runtime, libraries, SDK, and workload-specific frameworks such as ASP.NET Core and .NET MAUI.
