First, tap the repository:
brew tap junian/homebrew-dotnetIf you are currently using the .NET formula from the official
homebrew-cask, you should uninstall it first. For example:brew uninstall --zap dotnet-sdk
Install the desired .NET version:
brew install dotnet-sdk@<version>For example:
brew install dotnet-sdk@10.0Uninstall the desired .NET version:
brew uninstall dotnet-sdk@<version>For example:
brew uninstall dotnet-sdk@9.0| Version | Formula |
|---|---|
| ⭐️ .NET 10 (LTS) | dotnet-sdk@10.0 |
| ⭐️ .NET 9 | dotnet-sdk@9.0 |
| ⭐️ .NET 8 (LTS) | dotnet-sdk@8.0 |
| .NET 7 | dotnet-sdk@7.0 |
| .NET 6 (LTS) | dotnet-sdk@6.0 |
| .NET 5 | dotnet-sdk@5.0 |
There is no .NET 4 or .NET Core 4. Version 4.x is reserved for .NET Framework, which only runs on Windows.
Microsoft transitioned from .NET Core to simply .NET starting with version 5.
The closest alternative to .NET Framework 4.x on macOS is Mono MDK.
| Version | Formula |
|---|---|
| .NET Core 3.1 (LTS) | dotnet-sdk@3.1 |
| .NET Core 3.0 | dotnet-sdk@3.0 |
| .NET Core 2.2 | dotnet-sdk@2.2 |
| .NET Core 2.1 (LTS) | dotnet-sdk@2.1 |
| .NET Core 2.0 | dotnet-sdk@2.0 |
| .NET Core 1.1 | dotnet-sdk@1.1 |
| .NET Core 1.0 | dotnet-sdk@1.0 |
On Apple Silicon Macs, if you install .NET Core 3.1 or .NET 5, the dotnet binary is located at:
/usr/local/share/dotnet/x64/dotnet
You can create an alias:
alias dotnet-x64=/usr/local/share/dotnet/x64/dotnetThen use it, for example:
% dotnet-x64 --list-sdks
3.1.426 [/usr/local/share/dotnet/x64/sdk]
5.0.408 [/usr/local/share/dotnet/x64/sdk]Before Microsoft created a cross-platform .NET, there was a community-developed .NET-compatible implementation called Mono.
| Version | Formula |
|---|---|
| Mono MDK 6.12 | mono-mdk@6.12 |
These packages depend on Mono MDK:
| Version | Formula |
|---|---|
| Xamarin.Mac | xamarin-mac@9.3 |
| Xamarin.iOS | xamarin-ios@16.4 |
| Xamarin.Android | xamarin-android@13.2 |
This application also depends on Mono MDK:
| Version | Formula |
|---|---|
| Visual Studio 2022 for Mac | visual-studio@2022 |
If you’re confused about .NET versions and naming, here’s a quick history:
- 2002: .NET Framework (Windows-only, closed source)
- 2004: Mono (community-driven, cross-platform, open source)
- 2011: Xamarin (Mono for Android, MonoTouch for iOS)
- 2016: Microsoft acquires Xamarin and releases .NET Core (modern, cross-platform, open source)
- 2020: .NET 5 unifies everything into one platform, simply called .NET (cross-platform, open source)
A simple script is provided to automatically update the supported .NET Casks.
Install .NET 10, then run:
./update_casks.csIf updates are available, the script will modify the cask files. Commit and push the changes afterward.
Most of the time, you don’t need to run it manually, as updates are checked every 6 hours via GitHub Workflow.