
This article was written in 2023. Versions, tools and recommendations may have changed since then. Newer posts are collected under .NET.
.NET and C# (CSharp ) are two closely related technologies, but they are not the same thing. Understanding the difference between the two can be confusing, especially for those new to programming. Here’s a quick breakdown of what each technology is and how they relate to one another.
.NET is a software framework developed by Microsoft. It provides a runtime environment for executing code written in various languages, including C#, F# and VB.NET. The .NET framework includes a large library of pre-built code that developers can use to build their own applications. It also includes a common language runtime (CLR), which is responsible for managing the execution of .NET code.
C#, on the other hand, is a programming language. It was developed by Microsoft as part of its .NET initiative and is designed to be a simple, modern and object-oriented language. C# is used to write code that can run on the .NET framework and make use of the tools and libraries provided by the framework.
In short, .NET is a framework that provides a runtime environment and a library of code for building applications, while C# is a programming language that can be used to write code that runs on the .NET framework.
It’s worth noting that while C# was developed by Microsoft and is closely tied to the .NET framework, it is not limited to running on Windows. Thanks to the open source .NET Core, C# can now be used to build applications that run on multiple platforms, including Windows, Linux and macOS.
I hope this helps clear up any confusion you might have had about the difference between .NET and C#.
Related articles

- 11 min read
Containerizing .NET in 2026 Without a Dockerfile
Most .NET Dockerfiles repeat the same five steps: restore, publish, select the matching Microsoft runtime image, copy the output and start …

- 12 min read
Problem Details in ASP.NET Core and .NET 11
builder.Services.AddProblemDetails() registers infrastructure. It does not create an error contract. An ASP.NET Core request can fail during …

- 11 min read
Resilience in .NET with Microsoft.Extensions.Resilience
Retries are the most visible resilience strategy and the easiest one to misuse. Repeating a failing call can recover from a short network …
Let's Work Together
Looking for an experienced Platform Architect or Engineer for your next project? Whether it's cloud migration, platform modernization or building new solutions from scratch - I'm here to help you succeed.
