# .NET SDK

## About this Install Guide

| Reading time:     | 10 min            |
|--------------------|------------------|
| Last updated:      | 4 Aug 2026       |
| Ecosystem dashboard:| [View](https://developer.arm.com/ecosystem-dashboard/linux?package=.net) |

This guide shows you how to install and use the tool with the most common configuration. For advanced options and complete reference information, see the official documentation. Some install guides also include optional next steps to help you explore related workflows or integrations.

The [.NET SDK](https://dotnet.microsoft.com/en-us/) is a free, open-source, cross-platform development environment that provides tools and libraries for building applications. You can use it to create web apps, mobile apps, desktop apps, cloud services, and more.

.NET 10 is the latest Long Term Support (LTS) release. .NET 9 (Standard Term Support) and .NET 8 (LTS) are also available. This guide defaults to .NET 10, with instructions for selecting an alternative version.

The .NET SDK is available for Linux distributions on Arm-based systems.

## What should I do before installing the .NET SDK on Arm Linux?

Confirm you are using an Arm machine by running:

```
uname -m
```

The output should be:

```
__output__ aarch64
```

If you see a different result, you are not using an Arm computer running 64-bit Linux.

## How do I install the .NET SDK on my Arm Linux system?

There are two ways to install the .NET SDK on your computer:

- Using the Linux package manager.
- Using the install script.

Select the one that works best for you.

### How can I install .NET SDK using the Linux package manager?

Use `apt` to install the .NET 10 SDK on Ubuntu and Debian:

```
sudo apt-get update && sudo apt-get install -y dotnet-sdk-10.0
```

Use `dnf` to install the .NET 10 SDK on Fedora:

```
sudo dnf install dotnet-sdk-10.0
```

To install a different version, replace `10.0` with the version you need. For example, use `dotnet-sdk-9.0` for .NET 9 or `dotnet-sdk-8.0` for .NET 8.

If the .NET SDK is not found in your package manager, you can install it using a script.

### How can I install .NET SDK using a script?

To install the .NET SDK using a script, follow the instructions below:

1. Download the install script:

   ```
   wget https://dot.net/v1/dotnet-install.sh
   ```

2. Run the script to install the .NET SDK under the `$HOME/.dotnet` folder.

You have several options for specifying the version.

To install the latest LTS version (.NET 10), run:

```
bash ./dotnet-install.sh
```

To install the latest available version (including STS releases), run:

```
bash ./dotnet-install.sh --version latest
```

To install a specific version channel, use the `--channel` flag. For example, to install .NET 10:

```
bash ./dotnet-install.sh --channel 10.0
```

You can also use `--channel 9.0` for .NET 9 or `--channel 8.0` for .NET 8.

3. Add the .dotnet folder to the PATH environment variable:

   ```
   export PATH="$HOME/.dotnet/:$PATH"
   ```

You can also add the search path to your `$HOME/.bashrc` so it is set for all new shells.

## How do I verify the .NET SDK installation?

To check that the installation was successful, run:

```
dotnet --list-sdks
```

The output is similar to:

```
__output__ 10.0.110 [/usr/lib/dotnet/sdk]
```

For more detailed information about your installation, run:

```
dotnet --info
```

The output is similar to:

```
__output__ .NET SDK:
__output__  Version:           10.0.110
__output__  Commit:            f7d90799ce
__output__  Workload version:  10.0.100-manifests.1641d827
__output__  MSBuild version:   18.0.11+f7d90799c

__output__ Runtime Environment:
__output__  OS Name:     ubuntu
__output__  OS Version:  24.04
__output__  OS Platform: Linux
__output__  RID:         linux-arm64
__output__  Base Path:   /home/ubuntu/.dotnet/sdk/10.0.110/

__output__ .NET workloads installed:
__output__ There are no installed workloads to display.
__output__ Configured to use workload sets when installing new manifests.
__output__ No workload sets are installed. Run "dotnet workload restore" to install a workload set.

__output__ Host:
__output__   Version:      10.0.7
__output__   Architecture: arm64
__output__   Commit:       f7d90799ce

__output__ .NET SDKs installed:
__output__   10.0.110 [/home/ubuntu/.dotnet/sdk]

__output__ .NET runtimes installed:
__output__   Microsoft.AspNetCore.App 10.0.7 [/home/ubuntu/.dotnet/shared/Microsoft.AspNetCore.App]
__output__   Microsoft.NETCore.App 10.0.7 [/home/ubuntu/.dotnet/shared/Microsoft.NETCore.App]

__output__ Other architectures found:
__output__   None

__output__ Environment variables:
__output__   Not set

__output__ global.json file:
__output__   Not found

__output__ Learn more:
__output__   https://aka.ms/dotnet/info

__output__ Download .NET:
__output__   https://aka.ms/dotnet/download
```

The exact version numbers depend on when you install and which updates are available.

## How can I run a simple example to confirm the .NET SDK is working?

Create a new console application to verify that the .NET SDK works correctly:

```
dotnet new console -o myapp
```

Change to the new directory and run the application:

```
cd myapp
dotnet run
```

The expected output is:

```
__output__ Hello, World!
```

You are ready to use the .NET SDK on Arm Linux.

Explore more .NET examples by visiting the [Learning Center](https://dotnet.microsoft.com/en-us/learn).
