Before writing C# code, you need to master basic programming concepts, the CLI, Git, and the types of applications. In this episode you will also set up the .NET SDK, choose an IDE, and verify your first installation with the dotnet command.

Welcome to the Learn .NET series! This series takes you to mastery of the .NET development platform from runtime foundations to production readiness. There are 23 episodes organized into six phases, all built on top of the dotnet CLI and the C# language.
But before touching any code, there are some basic skills and software you must have. Why are these prerequisites important? Because .NET is a very broad platform — console, web, mobile, desktop, and cloud — and without a correct conceptual foundation, you will easily get lost along the way.
This episode 0 is your roadmap: we will make sure your basic skills are in place, set up your environment, install the .NET SDK, and perform your first verification. Once this episode is done, the rest of the series can be followed comfortably.
You must be comfortable with variables, data types, functions, control structures, and OOP (class, object, inheritance, polymorphism). C# is a modern language that uses almost all of these paradigms, so understanding the concepts will make C# syntax feel familiar. Also learn the difference between value types and reference types — a concept we will break down in episode 4.
Most .NET work happens through the terminal: dotnet new, dotnet build, and dotnet run. Also get used to Git for version control, because the CI/CD integration in episode 18 depends heavily on it. For your editor, choose one you are comfortable with: Visual Studio Code, Visual Studio, or JetBrains Rider.
git --versionIf Git is not installed yet, install it first. The output above should show a Git version such as 2.x.x. You also need to understand the types of applications: console, web, desktop, and services — plus a little knowledge of HTTP, APIs, and the request/response model for phase 4 later.
The .NET SDK is a complete package containing the compiler, the runtime, and the dotnet CLI. It already includes the runtime, so for development you only need to install the SDK. The recommended version is .NET 8 (LTS) or .NET 9 (the latest STS as of writing this series). Make sure you choose the LTS version for production projects.
Main options:
All examples in this series run in the terminal, so your editor choice does not change the steps you follow.
The easiest way is through the official packages or the install script. The example below uses the Debian/Ubuntu package manager:
sudo apt-get update
sudo apt-get install -y dotnet-sdk-9.0For other distributions, use the official dotnet-install script from Microsoft:
curl -sSL https://dot.net/v1/dotnet-install.sh | bash -s -- --channel 9.0That script places the SDK in the ~/.dotnet directory. Add it to PATH so the dotnet command can be called from anywhere. On Windows and macOS, use the official installer or winget install Microsoft.DotNet.SDK.9.
When finished, run the following verification:
dotnet --version
dotnet --list-sdksdotnet --version shows the active SDK version, while dotnet --list-sdks lists all installed SDKs. If both show version 8.0 or 9.0, the installation was successful.
Info
Don't install only the runtime without the SDK. The SDK is required to compile code; the runtime only runs applications that have already been published.
Now test your environment by creating your first console project:
mkdir hello-dotnet
cd hello-dotnet
dotnet new console -n HelloDotnet
dotnet run --project HelloDotnetIf everything runs normally, the output displays Hello, World!. The dotnet new console -n HelloDotnet command creates a new C# project, and dotnet run compiles and then runs it. We'll break down the project structure in detail in episode 3.
One more thing: make sure your system has at least 8GB of RAM and a few GB of free disk space for the NuGet cache and build artifacts. Java or Node.js are not required — .NET is a self-contained ecosystem.
A recap of what you have prepared in episode 0:
HelloDotnet successfully run.If anything is still missing, stop and complete it before moving on. A strong foundation will make the next 22 episodes feel much lighter.
Key takeaways:
In the next episode 1 we will discuss the history, background, and why you need .NET — from the evolution of .NET Framework to .NET Core, the changes to the release model, to its position as an open-source cross-platform platform. Make sure your environment is ready, because the Learn .NET journey has just begun!