- 在 Windows 上安装
- 在 macOS 上安装
- 在 Linux 上安装
本文介绍了 macOS 上支持哪些版本的 .NET、如何安装 .NET,以及 SDK 和运行时之间的区别。
最新版本的 .NET 为 10。
支持的版本
下表列出了受支持的.NET版本,以及受支持的 macOS 版本。 在 .NET版本达到支持终止或不再支持 macOS 版本之前,这些版本仍受支持。
| macOS 版本 | .NET |
|---|---|
| macOS 26 “Tahoe” | 10.0, 9.0, 8.0 |
| macOS 15 “Sequoia” | 10.0, 9.0, 8.0 |
| macOS 14“Sonoma” | 9.0, 8.0 |
不再支持以下版本的 .NET ❌:
- .NET 7
- .NET 6
- .NET 5
- .NET Core 3.1
- .NET Core 3.0
- .NET Core 2.2
- .NET Core 2.1
- .NET Core 2.0
Runtime 或 SDK
runtime用于运行使用.NET创建的应用。 应用作者发布应用时,可以在其应用中包含运行时。 如果未包含运行时,则用户就需要安装正确的运行时。
可以在 macOS 上安装两个运行时,这两个运行时都包含在 SDK 中。
ASP.NET Core Runtime
运行 ASP.NET Core应用。 包括.NET运行时。 不可用作安装程序。.NET Runtime
这会运行正常的.NET应用,但不运行专用应用,例如基于 ASP.NET Core生成的应用。
SDK用于生成和发布.NET应用和库。 最新的 SDK 支持为早期版本的.NET生成应用。 正常情况下只需要安装最新的 SDK。
安装 SDK 包括标准.NET运行时和 ASP.NET Core运行时。 例如,如果已安装 .NET SDK 9.0,则同时安装 .NET Runtime 9.0 和 ASP.NET Core 9.0 Runtime。 但是,任何其他运行时版本都不会与 SDK 一起安装,而是需要单独进行安装。
选择如何安装.NET
安装.NET的方法有所不同,某些产品可能会管理自己的.NET版本。 如果通过管理特定版本的 .NET 的软件安装 .NET,则可能无法在整个系统中启用。 请确保了解通过其他软件安装.NET的影响。
如果不确定在查看以下部分中的列表后应选择哪种方法,则可能需要使用 .NET Installer 包。
开发人员
-
安装 C# 开发工具包扩展,以便在 Visual Studio Code 中开发 .NET 应用。 该扩展可以使用已安装的 SDK,也可以为你安装 SDK。
用户和开发人员
-
使用独立安装程序安装.NET。 此方法是在开发人员或用户计算机上安装.NET的典型方法。
使用脚本安装.NET
一个可用于自动安装 SDK 或 Runtime 的 bash 脚本。 可以选择要安装的.NET版本。
手动安装.NET
如果需要将.NET安装到特定文件夹,并将其与其他.NET副本分开运行,请使用此安装方法。
安装.NET
安装程序包适用于 macOS,这是一种简单的安装.NET方法。
打开浏览器并导航到 https://dotnet.microsoft.com/download/dotnet 。
选择要安装的.NET版本的链接,例如 .NET 10.0。
此链接带您到包含该版本 .NET 下载链接的页面。
如果要安装 SDK,请选择最新的.NET版本。 SDK 支持为早期版本的.NET生成应用。
提示
如果不确定下载哪个版本,请选择标有“最新”的版本。
本页面提供 SDK 和 Runtime 的下载链接。 在此处下载 .NET SDK 或 .NET 运行时。
上图中突出显示了两个部分。 如果要下载 SDK,请参阅第 1 部分。 有关.NET运行时,请参阅第 2 部分。
第 1 部分 (SDK)
本部分是 SDK 下载区。 在 macOS 行的“安装程序”列下,列出了两个体系结构:Arm64 和 x64。
- 如果运行的是 Apple 处理器,如 M1 或 M3 Pro,请选择 Arm64。
- 如果运行的是 Intel 处理器,请选择 x64。
第 2 部分 (运行时 Runtime)
本部分包含运行时下载。 请注意,macOS 行中“安装程序”列的链接是空的! 此部分为空,因为ASP.NET Core Runtime仅在 SDK 中提供,或通过 binary 安装提供。
向下滚动以查找要下载的标准 .NET Runtime。
- 如果运行的是 Apple 处理器,如 M1 或 M3 Pro,请选择 Arm64。
- 如果运行的是 Intel 处理器,请选择 x64。
下载完成后将其打开。
按照安装程序中的步骤操作。
手动安装.NET
除了 macOS 安装程序,还可以下载并手动安装 SDK 和运行时。 手动安装通常作为持续集成方案中自动化的一部分来执行。 开发人员和用户通常希望使用“安装程序”。
打开浏览器并导航到 https://dotnet.microsoft.com/download/dotnet 。
选择要安装的.NET版本的链接,例如 .NET 8.0。
此链接将您引导至带有该版本 .NET 的下载链接的页面。
如果要安装 SDK,请选择最新的.NET版本。 SDK 支持为早期版本的.NET生成应用。
提示
如果不确定下载哪个版本,请选择标有“最新”的版本。
选择要安装的 SDK 或 Runtime 的链接。 在 macOS 行中查找 二进制文件 列。
- 如果运行的是 Apple 处理器,如 M1 或 M3 Pro,请选择 Arm64。
- 如果运行的是 Intel 处理器,请选择 x64。
打开终端并导航到下载.NET二进制文件的位置。
将 tarball 提取到您希望在系统中安装 .NET 的位置。 下面的示例使用HOME目录
~/Applications/.dotnet。mkdir -p ~/Applications/.dotnet tar -xf "dotnet-sdk-9.0.100-rc.2.24474.11-osx-arm64.tar" -C ~/Applications/.dotnet/
通过将目录更改为安装.NET的目录并运行 dotnet --info 命令来测试.NET是否正常工作:
chdir ~/Applications/.dotnet/
./dotnet --info
使用脚本安装.NET
dotnet-install 脚本用于运行时的自动化安装和非管理员权限的安装。 可通过 https://dot.net/v1/dotnet-install.sh 下载脚本。
该脚本默认安装最新的 长期支持 (LTS) 版本,即 .NET 8。 可通过指定 channel 开关以选择特定版本。 包括 runtime 开关以安装运行时。 否则,脚本将安装 SDK。
提示
此过程末尾提供了这些命令的脚本代码段。
打开终端。
导航至要下载脚本的文件夹,如 ~/Downloads。
如果没有
wget命令,请使用 Brew 进行安装。brew install wget运行以下命令以下载脚本:
wget https://dot.net/v1/dotnet-install.sh授予脚本执行权限
chmod +x dotnet-install.sh运行脚本以安装.NET。
脚本会默认将最新的 SDK 安装到
~/.dotnet目录中。./dotnet-install.sh
以下是作为单个 bash 脚本的所有命令:
chdir ~/Downloads
brew install wget
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh
导航到 ~/.dotnet 文件夹并运行 dotnet --info 命令来测试.NET:
chdir ~/.dotnet
./dotnet --info
重要
某些程序可能使用环境变量在系统上查找.NET,在打开新终端时,使用 dotnet 命令可能无法正常工作。 有关解决此问题的帮助,请参阅使 .NET 系统全局可用部分。
为 Visual Studio Code 安装 .NET
Visual Studio Code是一种功能强大的轻型源代码编辑器,可在桌面上运行。 Visual Studio Code可以使用系统上已安装的 SDK。 此外,C# 开发工具包扩展将为你安装.NET(如果尚未安装)。
有关通过 Visual Studio Code 安装 .NET 的说明,请参阅《VS Code 中开始使用 C#》。
公证
使用开发人员 ID 分发的 macOS 软件必须进行公证,包括使用 .NET 创建的应用。
如果运行未经公证的应用,则会显示类似下图的错误窗口:
有关强制公证如何影响.NET(和.NET应用)的详细信息,请参阅使用 macOS Catalina Notarization。
验证
下载安装程序或二进制版本后,请对其进行验证,以确保文件未被更改或损坏。 可以验证计算机上的校验和,然后将其与下载网站上报告的内容进行比较。
从官方下载页下载文件时,文件的校验和会显示在文本框中。 选择“复制”按钮将校验和值复制到剪贴板。
使用 shasum -a 512 命令来打印已下载文件的校验和。 例如,以下命令显示 dotnet-sdk-9.0.306-osx-x64.tar.gz 文件的校验和:
$ shasum -a 512 dotnet-sdk-9.0.306-osx-x64.tar.gz
a9700f98e5aa4f70b2a08ddba2b1c6085106b0d17828bd719fdcef460b06c890b32d752fbff8e4659cd1ca4174b4b211b301fe682439ea9a24b6521ca5a64c69 dotnet-sdk-9.0.306-osx-x64.tar.gz
将校验和与下载站点提供的值进行比较。
使用校验和文件进行验证
.NET发布说明中包含用于验证已下载文件的校验和文件的链接。 以下步骤介绍如何下载校验和文件并验证 .NET 安装二进制文件:
https://github.com/dotnet/core/tree/main/release-notes/9.0#releases GitHub .NET 9 的发行说明页包含名为 Releases 的节。 该部分中的表格与每个 .NET 9 版本的下载文件及校验文件相链接。 下图显示了 .NET 8 版本表作为参考:
GitHub 上 .NET 发行说明的版本表 请点击你所下载的.NET版本的链接。
上一部分使用了 .NET SDK 9.0.306,该版本位于 .NET 9.0.10 版本中。
在发布页中,可以看到.NET运行时和.NET SDK版本,以及校验和文件的链接。 下图显示了 .NET 8 版本表作为参考:
右键单击 校验和 链接并将其复制到剪贴板。
打开终端。
使用
curl -O {link}下载校验和文件。用复制的链接替换以下命令中的链接。
curl -O https://builds.dotnet.microsoft.com/dotnet/checksums/9.0.10-sha.txt将校验和文件和.NET发布文件下载到同一目录后,请使用
shasum -a 512 -c {file}命令验证下载的文件。如果验证通过,会看到打印了 OK 状态的文件:
$ shasum -a 512 -c 9.0.10-sha.txt dotnet-sdk-9.0.306-osx-x64.tar.gz: OK如果看到文件标记为失败,则下载的文件无效,不应使用。
$ shasum -a 512 -c 9.0.10-sha.txt dotnet-sdk-9.0.306-osx-x64.tar.gz: FAILED shasum: WARNING: 1 computed checksum did NOT match
基于 Arm 的 Mac
以下部分介绍了在基于 Arm 的 Mac 上安装.NET时应考虑的事项。
路径差异
在基于 Arm 的 Mac 上,所有 arm64 版本的 .NET 都安装到普通的 /usr/local/share/dotnet/ 文件夹中。 但是,安装 .NET SDK 的 x64 版本时,它安装到 /usr/local/share/dotnet/x64/dotnet/ 文件夹中。
路径变量
如果已安装.NET SDK 的 x64 和 Arm64 版本,则向系统路径添加.NET的环境变量(如 PATH 变量)可能需要更改。 此外,某些工具依赖于 DOTNET_ROOT 环境变量,这还需要更新以指向相应的.NET SDK 安装文件夹。
故障排除
以下部分可帮助排除故障:
在系统范围内启用.NET
有时,系统上的应用(包括终端)需要查找安装.NET的位置。 .NET macOS Installer 包应自动配置系统。 但是,如果使用了 manual 安装方法或 .NET 安装脚本,则必须将安装.NET的目录添加到 PATH 变量。
尝试确定安装.NET的位置时,某些应用可能会查找 DOTNET_ROOT 变量。
有许多不同的 shell 可用于 macOS,并且每个 shell 都有不同的配置文件。 例如:
- Bash Shell:~/.profile、/etc/profile
- Korn Shell:~/.kshrc 或 .profile
- Z Shell:~/.zshrc 或 .zprofile
在 shell 配置文件中设置以下两个环境变量:
DOTNET_ROOT此变量设置为 .NET 安装到的文件夹,例如
$HOME/.dotnet。export DOTNET_ROOT=$HOME/.dotnetPATH此变量应同时包含
DOTNET_ROOT文件夹和DOTNET_ROOT/tools文件夹:export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools