Fedora 支持.NET,本文介绍如何在 Fedora 上安装.NET。 当 Fedora 版本不受支持时,该版本不再支持.NET。
如果要开发.NET应用,请安装 SDK(包括运行时)。 或者,如果只需运行应用程序,请安装运行时。 如果要安装运行时,建议安装 ASP.NET Core Runtime,因为它同时包括.NET和 ASP.NET Core运行时。
使用 dotnet --list-sdks 和 dotnet --list-runtimes 命令查看安装的版本。 有关详细信息,请参阅 如何检查是否已安装.NET。
有关在没有包管理器的情况下安装.NET的详细信息,请参阅以下文章之一:
支持的发行版
下表列出了当前支持的.NET版本及其支持的 Fedora 版本。 这些版本将一直受到支持,直到.NET版本达到支持结束或Fedora版本结束生命周期。
| Fedora | .NET |
|---|---|
| 43 | 10, 9, 8 |
| 42 | 10, 9, 8 |
| 41 | 10, 9, 8 |
不再支持以下版本的 .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 10 于 2025 年 11 月 11 日发布。 包在包管理器源中出现或包含在您特定的 Linux 发行版中可能需要一些时间。
安装 SDK
.NET SDK 允许使用 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:
sudo dnf install dotnet-sdk-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
安装运行时
ASP.NET Core运行时允许您运行那些未包含运行时的.NET应用程序。 以下命令安装 ASP.NET Core运行时,这是.NET最兼容的运行时。 在终端中,运行以下命令:
sudo dnf install aspnetcore-runtime-10.0
作为 ASP.NET Core 运行时的替代方法,可以安装不包含 ASP.NET Core支持的 .NET Runtime:将上一命令中的 aspnetcore-runtime-10.0 替换为 dotnet-runtime-10.0:
sudo dnf install dotnet-runtime-10.0
若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。
安装预览版本
.NET的预览版和候选版本在包存储库中不可用。 可以通过以下方式之一安装 .NET 的预览版和发布候选版:
删除预览版本
使用包管理器管理.NET的安装时,如果以前安装了预览版,可能会遇到冲突。 包管理器可将非预览版解释为早期版本的.NET。 若要安装非预览版本,需要首先卸载预览版本。 有关卸载.NET的详细信息,请参阅如何删除.NET运行时和 SDK。
依赖项
.NET依赖于各种 Linux 包,以获取不同的功能。 需要以下包:
- glibc
- libgcc
- CA证书
- openssl-libs
- libstdc++
- libicu
- tzdata
- krb5-libs
- zlib (仅.NET 8 必需)
可以使用以下命令安装所有必需的包:
sudo dnf install -y glibc libgcc ca-certificates openssl-libs libstdc++ libicu tzdata krb5-libs zlib
如何安装其他版本
所有版本的 .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 或 .NET Core 时可能遇到的常见错误的信息。
找不到包
有关在没有包管理器的情况下安装.NET的详细信息,请参阅以下文章之一:
无法获取
安装.NET包时,可能会看到类似于 signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod' 的错误。 一般来说,此错误意味着.NET的包源正在使用较新的包版本进行升级,并且稍后应重试。 升级期间,软件包源的不可用时间不应超过 2 小时。 如果持续收到此错误超过 2 小时,请在 https://github.com/dotnet/core/issues 中提交问题。
与缺少 fxr、libhostfxr.so、FrameworkList.xml 或 /usr/share/dotnet 相关的错误
有关如何解决这些问题的详细信息,请参阅排查 fxr、libhostfxr.so 和 FrameworkList.xml 错误。
后续步骤
- .NET CLI 概述
- 如何为 .NET CLI 启用 TAB 完成
Tutorial:使用 .NET