This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Download Microsoft Edge
More info about Internet Explorer and Microsoft Edge
In this article
This article describes how to install the .NET Runtime snap package. .NET Runtime snap packages are provided by and maintained by Canonical. Snaps are a great alternative to the package manager built into your Linux distribution.
A snap is a bundle of an app and its dependencies that works across many different Linux distributions. Snaps are discoverable and installable from the Snap Store. For more information about Snap, see
Quickstart tour
.
Caution
Snap installations of .NET may have problems running
.NET tools
. If you wish to use .NET tools, we recommend that you install .NET using the
dotnet-install
script
or the package manager for the particular Linux distribution.
Prerequisites
Linux distribution that supports snap.
snapd
the snap daemon.
Your Linux distribution might already include snap. Try running
snap
from a terminal to see if the command works. For a list of supported Linux distributions, and instructions on how to install snap, see
Installing
snapd
.
.NET releases
Microsoft publishes .NET under two different support policies, Long Term Support (LTS) and Standard Term Support (STS). The quality of all releases is the same. The only difference is the length of support. LTS releases get free support and patches for three years. STS releases get free support and patches for 18 months. For more information, see
.NET Support Policy
.
The versions of .NET that are currently supported by Microsoft are:
9.0 (STS)—Support ends
May, 2026
.
8.0 (LTS)—Support ends
November 10, 2026
.
Other entities that build and release .NET might introduce different support policies. Be sure to check with them to understand how .NET is supported.
1. Install the runtime
The following steps install the .NET 9 runtime snap package:
Open a terminal.
Use
snap install
to install the .NET Runtime snap package. For example, the following command installs the .NET 8 runtime.
sudo snap install dotnet-runtime-80
Each .NET Runtime is published as an individual snap package. The following table lists the packages:
.NET version
Snap package
.NET version supported by Microsoft
2. Enable the dotnet command
When the .NET runtime snap package is installed, the dotnet
command isn't automatically configured. Use the snap alias
command to use the dotnet
command from the terminal. The command is formatted as: sudo snap alias {package}.{command} {alias}
. The following example maps the dotnet
command:
sudo snap alias dotnet-runtime-90.dotnet dotnet
3. Export the install location
The DOTNET_ROOT
environment variable is often used by tools to determine where .NET is installed. When .NET is installed through Snap, this environment variable isn't configured. You should configure the DOTNET_ROOT environment variable in your profile. The path to the snap uses the following format: /snap/{package}/current
. For example, if you installed the dotnet-runtime-90
snap, use the following command to set the environment variable to where .NET is located:
export DOTNET_ROOT=/snap/dotnet-runtime-90/current
Export the environment variable permanently
The preceding export
command only sets the environment variable for the terminal session in which it was run.
You can edit your shell profile to permanently add the commands. There are a number of different shells available for Linux and each has a different profile. For example:
Bash Shell: ~/.bash_profile, ~/.bashrc
Korn Shell: ~/.kshrc or .profile
Z Shell: ~/.zshrc or .zprofile
Edit the appropriate source file for your shell and add export DOTNET_ROOT=/snap/dotnet-runtime-90/current
.
Troubleshooting
The dotnet terminal command doesn't work
Can't install Snap on WSL2
The dotnet terminal command doesn't work
Snap packages can map an alias to a command provided by the package. The .NET Runtime snap packages don't automatically lias the dotnet
command. To alias the dotnet
command to the snap package, use the following command:
sudo snap alias dotnet-runtime-90.dotnet dotnet
Substitute dotnet-runtime-90
with the name of your runtime package.
Can't install Snap on WSL2
systemd
must be enabled on the WSL2 instance before Snap can be installed.
Open /etc/wsl.conf
in a text editor of your choice.
Paste in the following configuration:
[boot]
systemd=true
Save the file and restart the WSL2 instance through PowerShell. Use the wsl.exe --shutdown
command.
4. Use the .NET CLI
Open a terminal and type dotnet
.
dotnet
You'll see output similar to the following:
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options:
-h|--help Display help.
--info Display .NET information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
path-to-application:
The path to an application .dll file to execute.
To learn how to use the .NET CLI, see .NET CLI overview.
Related content
.NET CLI overview
How to enable TAB completion for the .NET CLI.