# Install the .NET Core SDK

In this article, you'll learn how to install the .NET Core SDK. The .NET Core SDK is used to create .NET Core apps and libraries. The .NET Core runtime is always installed with the SDK.

## Install with an installer

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

## Install with an installer

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

As an alternative to the macOS installers for .NET Core, you can download and manually install the SDK.

To extract the SDK 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. It's assumed the runtime is downloaded to the ~/Downloads/dotnet-sdk.pkg file.

mkdir -p $HOME/dotnet sudo installer -pkg ~/Downloads/dotnet-sdk.pkg -target$HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet  ## Install with a package manager You can install the .NET Core SDK with many of the common Linux package managers. For more information, see Linux Package Manager - Install .NET Core. Installing with a package manager is only supported on the x64 architecture. If you're installing the .NET Core SDK with a different architecture, such as ARM, follow the Download and manually install instructions below. For more information about what architectures are supported, see .NET Core dependencies and requirements. ## Download and manually install To extract the SDK 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 dotnet-sdk-3.1.100-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.

## Install with Visual Studio

If you're using Visual Studio to develop .NET Core apps, the following table describes the minimum required version of Visual Studio based on the target .NET Core SDK version.

.NET Core SDK version Visual Studio version
3.1 Visual Studio 2019 version 16.4 or higher.
3.0 Visual Studio 2019 version 16.3 or higher.
2.2 Visual Studio 2017 version 15.9 or higher.
2.1 Visual Studio 2017 version 15.7 or higher.

If you already have Visual Studio installed, you can check your version with the following steps.

1. Open Visual Studio.
2. Select Help > About Microsoft Visual Studio.

Visual Studio can install the latest .NET Core SDK and runtime.

When installing or modifying Visual Studio, select one or more of the following workloads, depending on the kind of application you're building:

• The .NET Core cross-platform development workload in the Other Toolsets section.
• The ASP.NET and web development workload in the Web & Cloud section.
• The Azure development workload in the Web & Cloud section.
• The .NET desktop development workload in the Desktop & Mobile section.

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 Visual Studio for Mac

Visual Studio for Mac installs the .NET Core SDK when the .NET Core workload is selected. To get started with .NET Core development on macOS, see Install Visual Studio 2019 for Mac. For the latest release, .NET Core 3.1, you must use the Visual Studio for Mac 8.4 Preview.

## Install alongside Visual Studio Code

Visual Studio Code is a powerful and lightweight source code editor that runs on your desktop. Visual Studio Code is available for Windows, macOS, and Linux.

While Visual Studio Code doesn't come with an automated .NET Core installer like Visual Studio does, adding .NET Core support is simple.

## Install with PowerShell automation

The dotnet-install scripts are used for automation and non-admin installs of the SDK. 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. To install the current release of .NET Core, run the script with the following switch.

dotnet-install.ps1 -Channel Current


## Install with bash automation

The dotnet-install scripts are used for automation and non-admin installs of the SDK. 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. To install the current release of .NET Core, run the script with the following switch.

./dotnet-install.sh -c Current