本文讨论如何在 Ubuntu 上安装.NET。
如果要开发.NET应用,请安装 SDK(包括运行时)。 或者,如果只需运行应用程序,请安装运行时环境。 如果要安装运行时,建议安装 ASP.NET Core Runtime,因为它同时包括.NET和 ASP.NET Core运行时。
使用 dotnet --list-sdks 和 dotnet --list-runtimes 命令查看安装的版本。 有关详细信息,请参阅 如何检查是否已安装.NET。
重要
使用包管理器从 Microsoft 包源 安装 .NET 仅支持 x64 架构。 Microsoft包源不支持其他体系结构(如 Arm64)。 使用 Ubuntu 源或手动安装.NET。 使用多个源时,请谨慎对待包混合问题。 有关详细信息,请参阅 Linux 上的 .NET 包问题混淆。
有关安装 .NET without a package manager 的详细信息,请参阅以下文章之一:
Ubuntu 25.10
Ubuntu 包管理器源中提供了 .NET。 Microsoft包存储库不再包含 Ubuntu 的.NET包。
支持或适用于 Ubuntu 25.10 的以下版本的.NET:
| 支持的.NET版本 | 适用于 内置 Ubuntu 源 |
适用于 回迁移植 Ubuntu 源 |
适用于 Microsoft 源 |
|---|---|---|---|
| 10.0, 9.0, 8.0 | 10.0, 9.0, 8.0 | 无 | 无 |
当 Ubuntu 版本退出支持时,该版本不再支持.NET。
安装 SDK
.NET SDK 允许使用 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
安装运行时
ASP.NET Core运行时允许您运行那些未包含运行时的.NET应用程序。 以下命令安装 ASP.NET Core运行时,这是.NET最兼容的运行时。 在终端中,运行以下命令:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-10.0
作为 ASP.NET Core 运行时的替代方法,可以安装不包含 ASP.NET Core支持的 .NET Runtime:将上一命令中的 aspnetcore-runtime-10.0 替换为 dotnet-runtime-10.0:
sudo apt-get install -y dotnet-runtime-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
依赖项
使用包管理器进行安装时,将为你安装这些库。 但是,如果手动安装.NET或发布自包含应用,则需要确保已安装这些库:
- CA证书
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu76
- libssl3t64
- libstdc++6
- tzdata
- zlib1g
可以使用 apt install 命令安装依赖项。 以下代码片段演示了如何安装 zlib1g 库:
sudo apt install zlib1g
Ubuntu 25.04
.NET 软件包在 Ubuntu 包管理器源中可用。 Microsoft包存储库不再包含 Ubuntu 的.NET包。
支持或适用于 Ubuntu 25.04 的以下版本的 .NET:
| 支持的.NET版本 | 适用于 内置 Ubuntu 源 |
适用于 回迁移植 Ubuntu 源 |
适用于 Microsoft 源 |
|---|---|---|---|
| 10.0, 9.0, 8.0 | 10.0, 9.0, 8.0 | 无 | 无 |
当 Ubuntu 版本退出支持时,该版本不再支持.NET。
安装 SDK
.NET SDK 允许使用 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
安装运行时
ASP.NET Core运行时允许您运行那些未包含运行时的.NET应用程序。 以下命令安装 ASP.NET Core运行时,这是.NET最兼容的运行时。 在终端中,运行以下命令:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-10.0
作为 ASP.NET Core 运行时的替代方法,可以安装不包含 ASP.NET Core支持的 .NET Runtime:将上一命令中的 aspnetcore-runtime-10.0 替换为 dotnet-runtime-10.0:
sudo apt-get install -y dotnet-runtime-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
依赖项
使用包管理器进行安装时,将为你安装这些库。 但是,如果手动安装.NET或发布自包含应用,则需要确保已安装这些库:
- CA证书
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu76
- libssl3t64
- libstdc++6
- tzdata
- zlib1g
可以使用 apt install 命令安装依赖项。 以下代码片段演示了如何安装 zlib1g 库:
sudo apt install zlib1g
Ubuntu 24.04
Ubuntu 包管理器源中提供了 .NET。 Microsoft包存储库不再包含 Ubuntu 的.NET包。
支持或适用于 Ubuntu 24.04 的以下版本的.NET:
| 支持的.NET版本 | 适用于 内置 Ubuntu 源 |
适用于 回迁移植 Ubuntu 源 |
适用于 Microsoft 源 |
|---|---|---|---|
| 10.0, 9.0, 8.0 | 10.0, 8.0 | 9.0, 7.0, 6.0 | 无 |
当 Ubuntu 版本退出支持时,该版本不再支持.NET。
安装 SDK
.NET SDK 允许使用 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
安装运行时
ASP.NET Core运行时允许您运行那些未包含运行时的.NET应用程序。 以下命令安装 ASP.NET Core运行时,这是.NET最兼容的运行时。 在终端中,运行以下命令:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-10.0
作为 ASP.NET Core 运行时的替代方法,可以安装不包含 ASP.NET Core支持的 .NET Runtime:将上一命令中的 aspnetcore-runtime-10.0 替换为 dotnet-runtime-10.0:
sudo apt-get install -y dotnet-runtime-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
依赖项
使用包管理器进行安装时,将为你安装这些库。 但是,如果手动安装.NET或发布自包含应用,则需要确保已安装这些库:
- CA证书
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu74
- libssl3t64
- libstdc++6
- tzdata
- zlib1g
可以使用 apt install 命令安装依赖项。 以下代码片段演示了如何安装 zlib1g 库:
sudo apt install zlib1g
Ubuntu 22.04
.NET 在 Ubuntu 包管理器中的源以及 Microsoft 包存储库中提供。 但是,应仅使用一个或另一个来安装.NET。 Microsoft 建议使用 Ubuntu 包管理器源。 如果要使用 Microsoft 包存储库,请参阅如何注册 Microsoft 包存储库。
支持或适用于 Ubuntu 22.04 的以下版本的.NET:
| 支持的.NET版本 | 适用于 内置 Ubuntu 源 |
适用于 .NET 向后移植 Ubuntu 源 |
适用于 Microsoft 源 |
|---|---|---|---|
| 10.0, 9.0, 8.0 | 8.0、7.0、6.0 | 10.0, 9.0 | 8.0、7.0、6.0、3.1 |
重要
如果使用 .NET 8 SDK 和 Ubuntu 22.04,请了解 Canonical 提供的 SDK 版本始终位于 .1xx 功能带中。 如果要使用较新的功能区段版本,请使用 Microsoft 源安装 SDK。 请确保查看 Linux 上 .NET 包混乱问题 一文,以了解在不同存储库源之间切换的影响。
当 Ubuntu 版本退出支持时,该版本不再支持.NET。
.NET在 Ubuntu .NET backports 包存储库中提供。 若要添加存储库,请打开终端并运行以下命令:
sudo add-apt-repository ppa:dotnet/backports
安装 SDK
.NET SDK 允许使用 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
安装运行时
ASP.NET Core运行时允许您运行那些未包含运行时的.NET应用程序。 以下命令安装 ASP.NET Core运行时,这是.NET最兼容的运行时。 在终端中,运行以下命令:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-10.0
作为 ASP.NET Core 运行时的替代方法,可以安装不包含 ASP.NET Core支持的 .NET Runtime:将上一命令中的 aspnetcore-runtime-10.0 替换为 dotnet-runtime-10.0:
sudo apt-get install -y dotnet-runtime-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
依赖项
使用包管理器进行安装时,将为你安装这些库。 但是,如果手动安装.NET或发布自包含应用,则需要确保已安装这些库:
- CA证书
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu70
- libssl3
- libstdc++6
- tzdata
- zlib1g
可以使用 apt install 命令安装依赖项。 以下代码片段演示了如何安装 zlib1g 库:
sudo apt install zlib1g
不支持的版本
不再支持以下版本的 .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
如何安装其他版本
.NET包名称在所有 Linux 分发版中都标准化。 下表列出了软件包:
所有版本的 .NET 都可以在 https://dotnet.microsoft.com/download/dotnet 下载,但需要 手动安装。 可以尝试使用包管理器安装不同版本的.NET。 但请求的版本可能不可用。
添加到包管理器的包以可破解的格式命名,例如:{product}-{type}-{version}。
产品
要安装的.NET产品的类型。 有效选项是:dotnetaspnetcore
类型
选择 SDK 或运行时。 有效选项是:-
sdk(仅适用于dotnet产品) runtime
-
版本
要安装的 SDK 或运行时的版本。 有效选项为任何已发布的版本,例如:9.08.03.12.1
尝试下载的 SDK/运行时可能不适用于 Linux 发行版。 有关受支持的分发版的列表,请参阅 Linux 上的 Install .NET。
示例
- 安装 ASP.NET Core 9.0 运行时:
aspnetcore-runtime-9.0 - 安装 .NET Core 2.1 运行时:
dotnet-runtime-2.1 - 安装 .NET 5 SDK:
dotnet-sdk-5.0 - 安装 .NET Core 3.1 SDK:
dotnet-sdk-3.1
注意
某些包在 Linux 发行版上可能不可用。
缺少包
如果包版本组合无效,则它不可用。 例如,没有 ASP.NET Core SDK。 用于 ASP.NET Core的 SDK 组件包含在 .NET SDK 中。
aspnetcore-sdk-8.0 的值不正确,应为 dotnet-sdk-8.0。 有关 .NET 支持的 Linux 分发版列表,请参阅 .NET 依赖项和要求。
后续步骤
- .NET CLI 概述
- 如何为 .NET CLI 启用 TAB 完成。
- 教程:使用 .NET 来创建控制台应用程序。