Install the .NET Core Runtime

In this article, you'll learn how to download and install the .NET Core runtime. The .NET Core runtime is used to run apps created with .NET Core.

Install with an installer

Windows has standalone installers that can be used to install the .NET Core 3.1 runtime:

Install with an installer

macOS has standalone installers that can be used to install the .NET Core 3.1 runtime:

Install with a package manager

You can install the .NET Core Runtime with many of the common Linux package managers. For more information, see Linux Package Manager - Install .NET Core.

Installing it with a package manager is only supported on the x64 architecture. If you're installing the .NET Core Runtime with a different architecture, such as ARM, follow the instructions on the Download and manually install section. For more information about what architectures are supported, see .NET Core dependencies and requirements.

To extract the runtime and make the .NET Core CLI commands available at the terminal, first download a .NET Core binary release. Then, open a terminal and run the following commands.

mkdir -p $HOME/dotnet && tar zxf aspnetcore-runtime-3.1.0-linux-x64.tar.gz -C$HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet  Tip The preceding export commands only make the .NET Core CLI commands available 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 :$HOME/dotnet to the end of the existing PATH statement. If no PATH statement is included, add a new line with export PATH=$PATH:$HOME/dotnet.

Also, add export DOTNET_ROOT=\$HOME/dotnet to the end of the file.

This approach lets you install different versions into separate locations and choose explicitly which one to use by which application.

Install with PowerShell automation

The dotnet-install scripts are used for automation and non-admin installs of the runtime. You can download the script from the dotnet-install script reference page.

The script defaults to installing the latest long term support (LTS) version, which is .NET Core 3.1. You can choose a specific release by specifying the Channel switch. Include the Runtime switch to install a runtime. Otherwise, the script installs the SDK.

dotnet-install.ps1 -Channel 3.1 -Runtime aspnetcore


Note

The command above installs the ASP.NET Core runtime for maximum compatability. The ASP.NET Core runtime also includes the standard .NET Core runtime.

To extract the runtime and make the .NET Core CLI commands available at the terminal, first download a .NET Core binary release. Then, create a directory to install to, for example %USERPROFILE%\dotnet. Finally, extract the downloaded zip file into that directory.

By default, .NET Core CLI commands and apps will not use .NET Core installed in this way. You have to explicitly choose to use it. To do so, change the environment variables with which an application is started:

set DOTNET_ROOT=%USERPROFILE%\dotnet
set PATH=%USERPROFILE%\dotnet;%PATH%


This approach lets you install multiple versions into separate locations, then explicitly choose which install location an application should use by running the application with environment variables pointing at that location.

Even when these environment variables are set, .NET Core still considers the default global install location when selecting the best framework for running the application. The default is typically C:\Program Files\dotnet, which the installers use. You can instruct the runtime to only use the custom install location by setting this environment variable as well:

set DOTNET_MULTILEVEL_LOOKUP=0


Install with bash automation

The dotnet-install scripts are used for automation and non-admin installs of the runtime. You can download the script from the dotnet-install script reference page.

The script defaults to installing the latest long term support (LTS) version, which is .NET Core 3.1. You can choose a specific release by specifying the current switch. Include the runtime switch to install a runtime. Otherwise, the script installs the SDK.

./dotnet-install.sh --channel 3.1 --runtime aspnetcore


Note

The command above installs the ASP.NET Core runtime for maximum compatability. The ASP.NET Core runtime also includes the standard .NET Core runtime.