This browser is no longer supported.
Upgrade to Microsoft Edge to accept advantage of the latest features, security updates, and technical support.
Install .Cyberspace on macOS
- Install on Windows
- Install on macOS
- Install on Linux
In this article, you’ll learn how to install .NET on macOS. .Internet is made upwardly of the runtime and the SDK. The runtime is used to run a .Cyberspace app and may or may not be included with the app. The SDK is used to create .NET apps and libraries. The .Net runtime is always installed with the SDK.
The latest version of .Internet is 6.0.
The following table is a list of currently supported .NET releases and the versions of macOS they’re supported on. These versions remain supported until the version of .Net reaches end-of-support.
- A ✔️ indicates that the version of .NET is still supported.
- A ❌ indicates that the version of .Cyberspace isn’t supported.
|Operating Organization||.Cyberspace Core 3.1||.Net v||.Internet 6|
|macOS 12.0 “Monterey”||✔️ 3.one||❌ 5.0||✔️ 6.0|
|macOS xi.0 “Large Sur”||✔️ 3.1||❌ 5.0||✔️ 6.0|
|macOS 10.xv “Catalina”||✔️ 3.1||❌ five.0||✔️ 6.0|
For more information about the life wheel of .NET releases, see .NET and .NET Core Support Policy.
The following versions of .Internet are ❌ no longer supported. The downloads for these withal remain published:
- .Internet Core 3.0
- .NET Core ii.2
- .Net Core 2.1
- .Internet Core two.0
The runtime is used to run apps created with .Cyberspace. When an app author publishes an app, they tin can include the runtime with their app. If they don’t include the runtime, it’south upward to the user to install the runtime.
In that location are two dissimilar runtimes you can install on macOS:
ASP.NET Core runtime
Runs ASP.NET Core apps. Includes the .Net runtime.
This runtime is the simplest runtime and doesn’t include any other runtime. Information technology’s highly recommended that y’all install
ASP.Internet Core runtime
for the best compatibility with .NET apps.
The SDK is used to build and publish .NET apps and libraries. Installing the SDK includes both runtimes: ASP.NET Cadre and .NET.
Beginning with macOS Catalina (version 10.15), all software congenital afterward June i, 2019 that is distributed with Developer ID, must exist notarized. This requirement applies to the .Internet runtime, .NET SDK, and software created with .Internet.
The runtime and SDK installers for .Internet have been notarized since Feb 18, 2020. Prior released versions aren’t notarized. If you lot run a not-notarized app, you’ll come across an error like to the following image:
For more than information about how enforced-notarization affects .Internet (and your .Cyberspace apps), see Working with macOS Catalina Notarization.
.NET applications that use the
assembly crave libgdiplus to exist installed.
An easy fashion to obtain libgdiplus is by using the Homebrew (“brew”) packet manager for macOS. After installing
brew, install libgdiplus by executing the following commands at a Terminal (command) prompt:
mash update mash install mono-libgdiplus
Install with an installer
macOS has standalone installers that can be used to install the .NET half-dozen SDK:
- x64 and Arm64 CPUs
Download and manually install
As an alternative to the macOS installers for .Internet, you can download and manually install the SDK and runtime. Manual installation is usually performed as office of continuous integration testing. For a developer or user, it’southward more often than not better to use an installer.
Outset, download a
release for either the SDK or the runtime from 1 of the following sites. If you install the .Net SDK, you will not demand to install the respective runtime:
- ✔️ .NET 6 downloads
- ✔️ .NET Cadre 3.ane downloads
- All .NET downloads
Next, extract the downloaded file and apply the
command to set
to the extracted binder’s location and then ensure .Cyberspace is in PATH. This should make the .Net CLI commands available at the terminal.
Alternatively, after downloading the .Internet binary, the following commands may be run from the directory where the file is saved to extract the runtime. This will also make the .Internet CLI commands available at the last and gear up the required surroundings variables.
Recollect to change the
value to the proper name of the downloaded binary:
DOTNET_FILE=dotnet-sdk-vi.0.100-osx-x64.tar.gz export DOTNET_ROOT=$(pwd)/dotnet mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT" export PATH=$PATH:$DOTNET_ROOT
commands only make the .NET CLI commands available for the concluding session in which it was run.
You can edit your vanquish contour to permanently add together the commands. There are a number of different shells available for Linux and each has a different contour. For example:
Edit the appropriate source file for your trounce and add together
to the end of the existing
statement. If no
statement is included, add a new line with
Also, add together
to the stop of the file.
This approach lets you install different versions into separate locations and cull explicitly which one to use by which application.
The following sections depict things you should consider when installing .Internet on an Arm-based Mac.
The following table describes which versions of .Net are supported on an Arm-based Mac:
|.NET Version||Architecture||SDK||Runtime||Path conflict|
The x64 and Arm64 versions of the .Cyberspace half-dozen SDK exist independently from each other. If a new version is released, each install needs to be upgraded.
On an Arm-based Mac, all Arm64 versions of .Net are installed to the normal
binder. Still, when you install the
version of .Cyberspace six SDK, it’due south installed to the
.NET 6 SDK installs to its own directory, every bit described in the previous section. This allows the Arm64 and x64 versions of the .Net half dozen SDK to exist on the same machine. However, any
SDK prior to 6.0 isn’t supported and installs to the same location every bit the Arm64 version, the
binder. If yous want to install an unsupported x64 SDK, you’ll demand to first uninstall the Arm64 version. The contrary is also true, you’ll need to uninstall the unsupported x64 SDK to install the Arm64 version.
Environment variables that add together .Internet to system path, such as the
variable, may demand to exist changed if you have both the x64 and Arm64 versions of the .NET 6 SDK installed. Additionally, some tools rely on the
surroundings variable, which would also need to be updated to point to the appropriate .Net half dozen SDK installation binder.
Install with Visual Studio for Mac
Visual Studio for Mac installs the .Cyberspace SDK when the
workload is selected. To get started with .NET development on macOS, see Install Visual Studio 2019 for Mac.
|.NET SDK version||Visual Studio version|
|6.0||Visual Studio 2022 for Mac Preview iii 17.0 or higher.|
|3.1||Visual Studio 2019 for Mac version 8.4 or higher.|
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 bachelor for Windows, macOS, and Linux.
While Visual Studio Lawmaking doesn’t come up with an automated .Internet installer like Visual Studio does, adding .Internet support is simple.
- Download and install Visual Studio Code.
- Download and install the .NET SDK.
- Install the C# extension from the Visual Studio Code market place.
Install with bash automation
The dotnet-install scripts are used for automation and not-admin installs of the runtime. Y’all 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 .Cyberspace 6.0. You lot can cull a specific release by specifying the
switch. Include the
switch to install a runtime. Otherwise, the script installs the SDK.
./dotnet-install.sh --channel 6.0 --runtime aspnetcore
The previous command installs the ASP.Net Core runtime for maximum compatability. The ASP.NET Core runtime also includes the standard .Net runtime.
Containers provide a lightweight way to isolate your application from the residual of the host arrangement. Containers on the same machine share just the kernel and use resources given to your application.
.NET can run in a Docker container. Official .Net Docker images are published to the Microsoft Container Registry (MCR) and are discoverable at the Microsoft .Cyberspace Docker Hub repository. Each repository contains images for unlike combinations of the .NET (SDK or Runtime) and Bone that you can utilise.
Microsoft provides images that are tailored for specific scenarios. For example, the ASP.Net Core repository provides images that are built for running ASP.NET Core apps in product.
For more information nearly using .Internet in a Docker container, meet Introduction to .NET and Docker and Samples.
- How to check if .Net is already installed.
- Working with macOS Catalina notarization.
- Tutorial: Get started on macOS.
- Tutorial: Create a new app with Visual Studio Code.
- Tutorial: Containerize a .Internet app.
Submit and view feedback for