LearnAI ToolsCareerPractice BuildsPlayContact
Lesson 315 min read

The .NET Ecosystem

Understand the major pieces of the modern .NET ecosystem — the SDK, runtime, ASP.NET Core, Entity Framework Core, and NuGet.

The .NET SDK

The Software Development Kit (SDK) is the single package you install to build .NET applications. It bundles the C# compiler (Roslyn), the `dotnet` command-line interface, MSBuild (the underlying build engine), and the runtime needed to run programs during development. Installing the SDK is genuinely the only download you need to write, build, and run C# code — there is no separate compiler download, no separate build tool to configure.

You can verify exactly what the SDK gave you at any time.

Checking your installed SDK version
dotnet --version
# 8.0.100
dotnet --list-sdks
# 8.0.100 [C:\Program Files\dotnet\sdk]

The .NET Runtime

The runtime is the smaller subset that end users (or a production server) need installed to run an already-built .NET application — it does not include the compiler or MSBuild, since it has no need to build anything, only execute already-compiled CIL. Many modern deployments avoid requiring a separate runtime install entirely by publishing a "self-contained" app that bundles the exact runtime version it needs directly alongside the application — larger to deploy, but immune to "wrong runtime version installed on the server" problems.

SDK vs Runtime: A Closer Look

SDKRuntime
Who installs itDevelopers, on their own machineEnd users / production servers (unless self-contained)
Includes the compiler?YesNo
Can build a project?Yes (dotnet build)No
Can run a built app?YesYes
Typical sizeLarger (~200+ MB)Smaller (~50-100 MB)
Fun Fact

There are actually three separate runtime flavors you can install independently of the SDK: the base .NET Runtime (console apps), the ASP.NET Core Runtime (adds web server pieces), and the Desktop Runtime (adds WPF/WinForms support, Windows-only) — a production Linux API server typically only needs the ASP.NET Core Runtime, not the full desktop-capable one.

Major Frameworks Built on .NET

ASP.NET Core

Build web applications, REST APIs, and real-time apps with SignalR. Covered extensively later in this course.

Entity Framework Core

An Object-Relational Mapper (ORM) for working with databases using C# objects instead of raw SQL strings.

.NET MAUI

Build cross-platform mobile (iOS/Android) and desktop (Windows/macOS) apps from a single shared codebase.

Blazor

Build interactive web UIs using C# instead of JavaScript, running either server-side or client-side via WebAssembly.

It is worth internalizing that all four of these are separate, optional packages layered on top of the base .NET runtime — a console tool project needs none of them, while a full web application typically pulls in ASP.NET Core and Entity Framework Core together.

NuGet

NuGet is the official package manager for .NET — conceptually similar to npm for JavaScript, pip for Python, or Maven for Java. It hosts hundreds of thousands of reusable, versioned libraries (called "packages") you can add to your project with a single command, instead of manually downloading and referencing DLL files by hand the way developers had to in the earliest .NET Framework days.

Installing a NuGet package
dotnet add package Newtonsoft.Json

Once installed, a package reference is recorded automatically in your project's .csproj file, so anyone who clones your project can restore the exact same dependencies with a single command.

What gets added to your .csproj file
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
Restoring a project's dependencies (e.g. after cloning)
dotnet restore

Exploring a NuGet Package

The public NuGet Gallery at nuget.org is searchable, and every package page shows its download count, version history, and dependencies — genuinely useful for judging whether a package is well-maintained before depending on it in a real project.

Fun Fact

As of the mid-2020s, nuget.org hosts well over 400,000 unique packages and serves tens of billions of package downloads per month — it is one of the largest package repositories in the world, alongside npm and PyPI.

IDEs & Editors

Visual Studio

Full-featured IDE, Windows/macOS, free Community edition, best for large ASP.NET Core and enterprise projects with deep debugging/profiling tools.

VS Code

Lightweight, fully cross-platform (including Linux), great with the free C# Dev Kit extension — this course's primary recommendation for following along.

JetBrains Rider

Cross-platform, paid (with a free trial), especially popular among developers who already use other JetBrains IDEs, for its advanced refactoring tools.

Common Beginner Mistakes

Installing only the runtime when you actually want to develop

The runtime alone cannot compile or build your code — always install the full SDK for development; the standalone runtime installers are meant for deployment servers.

Manually editing DLL references instead of using NuGet

This was necessary in very old .NET Framework projects, but modern .NET projects should always add dependencies via dotnet add package or your IDE's package manager UI.

Assuming you need Visual Studio specifically to learn C#

VS Code with the C# Dev Kit is a fully capable, free alternative used by many professional .NET developers day-to-day, especially on macOS and Linux.

FAQs

No — the SDK alone includes everything needed to write, build, and run console C# programs; you'll add ASP.NET Core and NuGet packages only once you reach lessons that need them.

Yes, publishing and consuming public NuGet packages is entirely free; private/enterprise package feeds (like Azure Artifacts) are a separate, optional paid offering for organizations.

Yes — .NET SDKs install side-by-side by version, and a global.json file in a project can pin exactly which SDK version that project should build with.

It's the underlying build engine that actually compiles your project when you run dotnet build — the dotnet CLI is largely a friendlier wrapper around MSBuild and other .NET tooling.

Key Takeaways

  • The SDK is for building (development machines); the runtime is for running (production servers, unless self-contained).
  • ASP.NET Core, Entity Framework Core, .NET MAUI, and Blazor are the major optional frameworks layered on top of base .NET.
  • NuGet is .NET's package manager, hosting 400,000+ packages, functioning similarly to npm or pip.
  • VS Code with the C# Dev Kit is a free, fully capable alternative to Visual Studio for following this entire course.

Summary

The SDK, runtime, major frameworks, and NuGet together form the toolkit you'll use throughout this entire course — understanding what each piece is actually responsible for makes every later lesson's setup instructions much easier to follow. Next, you'll install the SDK and get your own development environment running.

Next Lesson →

Installation & Setup