DEV Community

IronSoftware
IronSoftware

Posted on

.NET 10 Linux Support For Developers

.NET 10 shipped November 2025 with full Linux support. It's an LTS release — three years of support through November 2028. Here's how to get it running on your Linux distribution.

# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y dotnet-sdk-10.0

# Verify installation
dotnet --version
# Output: 10.0.100
Enter fullscreen mode Exit fullscreen mode

That's it. You're running .NET 10 on Linux.

Which Linux Distributions Support .NET 10?

Officially supported:

  • Ubuntu 22.04, 24.04
  • Debian 11, 12
  • Red Hat Enterprise Linux 8.10, 9.7, 10.1
  • Fedora 39, 40
  • openSUSE Leap 15.5+
  • Alpine Linux 3.18+
  • CentOS Stream 9

Community supported:

  • Arch Linux (AUR)
  • Manjaro
  • Linux Mint
  • Pop!_OS

Microsoft maintains packages for major distributions. Community packages fill the gaps.

How Do I Install .NET 10 on Ubuntu?

Option 1: Microsoft package feed (recommended)

# Add Microsoft package repository
wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

# Install SDK
sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0
Enter fullscreen mode Exit fullscreen mode

Option 2: Ubuntu native packages

sudo apt-get install dotnet-sdk-10.0
Enter fullscreen mode Exit fullscreen mode

Ubuntu 24.04+ includes .NET packages natively.

How Do I Install .NET 10 on RHEL?

Red Hat Enterprise Linux has first-class .NET support:

# RHEL 9
sudo dnf install dotnet-sdk-10.0

# RHEL 8
sudo dnf install dotnet-sdk-10.0
Enter fullscreen mode Exit fullscreen mode

Red Hat and Microsoft collaborate on .NET support. RHEL packages are fully supported.

How Do I Install .NET 10 on Fedora?

sudo dnf install dotnet-sdk-10.0
Enter fullscreen mode Exit fullscreen mode

Fedora tracks .NET releases closely. New versions appear within days of release.

How Do I Install .NET 10 on Alpine Linux?

Alpine is popular for containers:

apk add dotnet10-sdk
Enter fullscreen mode Exit fullscreen mode

Or in a Dockerfile:

FROM mcr.microsoft.com/dotnet/sdk:10.0-alpine
Enter fullscreen mode Exit fullscreen mode

Alpine images are significantly smaller than Debian-based images.

Can I Use Snap to Install .NET?

Yes. Canonical maintains official snap packages:

sudo snap install dotnet-sdk --classic --channel=10.0
Enter fullscreen mode Exit fullscreen mode

Snaps work across distributions. One command, any Linux.

What About Manual Installation?

Download binaries directly:

# Download .NET 10 SDK
wget https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --channel 10.0

# Add to PATH
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT' >> ~/.bashrc
source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode

Manual installation works on any Linux distribution.

How Do I Run .NET 10 in Docker?

Microsoft provides official container images:

# SDK image for building
FROM mcr.microsoft.com/dotnet/sdk:10.0

# Runtime image for production
FROM mcr.microsoft.com/dotnet/aspnet:10.0

# Minimal runtime
FROM mcr.microsoft.com/dotnet/runtime:10.0
Enter fullscreen mode Exit fullscreen mode

Image variants:

  • 10.0 — Debian-based (default)
  • 10.0-alpine — Alpine-based (smaller)
  • 10.0-jammy — Ubuntu 22.04-based

What's New in .NET 10 for Linux?

.NET 10 is an LTS release — Long-Term Support through November 2028.

Key improvements:

  • Performance — JIT and GC optimizations
  • C# 14 — Latest language features
  • Post-quantum cryptography — ML-KEM, ML-DSA, SLH-DSA algorithms
  • Direct C# execution — Run .cs files without project files:
# New in .NET 10 — run C# directly
dotnet run app.cs
Enter fullscreen mode Exit fullscreen mode

No csproj required for simple scripts.

How Do I Set Up a Development Environment?

VS Code + C# Dev Kit:

# Install VS Code
sudo snap install code --classic

# Install C# Dev Kit from VS Code extensions
Enter fullscreen mode Exit fullscreen mode

JetBrains Rider:

# Via snap
sudo snap install rider --classic

# Or via JetBrains Toolbox
Enter fullscreen mode Exit fullscreen mode

Both work excellently on Linux.

Can I Build for Windows from Linux?

Yes. Cross-compilation works:

# Build Windows executable on Linux
dotnet publish -r win-x64 --self-contained

# Build for multiple platforms
dotnet publish -r linux-x64 --self-contained
dotnet publish -r osx-arm64 --self-contained
Enter fullscreen mode Exit fullscreen mode

One codebase, any target platform.

How Does Performance Compare to Windows?

.NET performs identically on Linux and Windows. In some scenarios, Linux outperforms:

  • Container density — Lower overhead
  • Networking — Native epoll/io_uring support
  • File I/O — Depends on filesystem

ASP.NET Core benchmarks show Linux matching or exceeding Windows performance.

What About GUI Applications on Linux?

.NET MAUI — Coming to Linux via Avalonia partnership (2026 preview).

Avalonia — Available now:

dotnet new avalonia.app -n MyLinuxApp
dotnet run
Enter fullscreen mode Exit fullscreen mode

Uno Platform — Cross-platform including Linux.

For server workloads and CLI tools, Linux is fully supported today.

Troubleshooting Common Issues

"dotnet: command not found"

# Check installation
ls /usr/share/dotnet/

# Add to PATH
export PATH=$PATH:/usr/share/dotnet
Enter fullscreen mode Exit fullscreen mode

SSL certificate errors

# Install CA certificates
sudo apt-get install ca-certificates
Enter fullscreen mode Exit fullscreen mode

Missing runtime dependencies

# Install ICU libraries
sudo apt-get install libicu-dev
Enter fullscreen mode Exit fullscreen mode

Quick Reference

Distribution Package Manager Command
Ubuntu/Debian apt sudo apt install dotnet-sdk-10.0
RHEL/Fedora dnf sudo dnf install dotnet-sdk-10.0
Alpine apk apk add dotnet10-sdk
Any snap sudo snap install dotnet-sdk --channel=10.0
Any script ./dotnet-install.sh --channel 10.0
Image Size Use Case
sdk:10.0 ~800MB Building apps
aspnet:10.0 ~220MB Web apps
runtime:10.0 ~190MB Console apps
sdk:10.0-alpine ~450MB Smaller builds
aspnet:10.0-alpine ~100MB Minimal web apps

.NET 10 on Linux is production-ready. Three years of LTS support, excellent performance, and first-class tooling make it a solid choice for server workloads.


Written by Jacob Mellor, CTO at Iron Software. Jacob created IronPDF and leads a team of 50+ engineers building .NET document processing libraries.

Top comments (0)