通过


在 openSUSE Leap 上安装 .NET SDK 或 .NET 运行时

openSUSE Leap 支持.NET。 本文介绍如何在 openSUSE Leap 上安装.NET。

如果要开发.NET应用,请安装 SDK(包括运行时)。 或者,如果只需运行应用程序,请安装运行时。 如果要安装运行时,建议安装 ASP.NET Core Runtime,因为它同时包括.NET和 ASP.NET Core运行时。

使用 dotnet --list-sdksdotnet --list-runtimes 命令查看安装的版本。 有关详细信息,请参阅 如何检查是否已安装.NET

支持的发行版

下表列出了 openSUSE Leap 15 上当前支持的.NET版本。 在 .NET版本达到支持终止或不再支持 openSUSE Leap 版本之前,这些版本仍受支持。

openSUSE Leap .NET
16 10, 9, 8
15.6 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的预览版和候选版本在包存储库中不可用。 可以通过以下方式之一安装 .NET 的预览版和发布候选版:

删除预览版本

使用包管理器管理.NET的安装时,如果以前安装了预览版,可能会遇到冲突。 包管理器可将非预览版解释为早期版本的.NET。 若要安装非预览版本,需要首先卸载预览版本。 有关卸载.NET的详细信息,请参阅如何删除.NET运行时和 SDK

openSUSE Leap 16

在安装.NET之前,请运行以下命令,将Microsoft包签名密钥添加到受信任的密钥列表中,并添加Microsoft包存储库。 打开终端并运行以下命令:

sudo zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/16/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo

重要

Microsoft 包源仅发布 x64Arm64 包(.NET 10)。 如果需要在其他架构(如 Arm32)上安装 .NET,请不要通过包管理器从 Microsoft 包源进行安装。 有关安装 .NET without a package manager 的详细信息,请参阅以下文章之一:

安装 SDK

.NET SDK 允许使用 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:

sudo zypper install dotnet-sdk-10.0

若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述

安装运行时

ASP.NET Core运行时允许您运行那些未包含运行时的.NET应用程序。 以下命令安装 ASP.NET Core运行时,这是.NET最兼容的运行时。 在终端中,运行以下命令:

sudo zypper install aspnetcore-runtime-10.0

作为 ASP.NET Core 运行时的替代方法,可以安装不包含 ASP.NET Core支持的 .NET Runtime:将上一命令中的 aspnetcore-runtime-10.0 替换为 dotnet-runtime-10.0

sudo zypper install dotnet-runtime-10.0

若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述

openSUSE Leap 15

在安装.NET之前,请运行以下命令,将Microsoft包签名密钥添加到受信任的密钥列表中,并添加Microsoft包存储库。 打开终端并运行以下命令:

sudo zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/15/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo

重要

Microsoft 包源仅发布 x64Arm64 包(.NET 10)。 如果需要在其他架构(如 Arm32)上安装 .NET,请不要通过包管理器从 Microsoft 包源进行安装。 有关安装 .NET without a package manager 的详细信息,请参阅以下文章之一:

安装 SDK

.NET SDK 允许使用 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:

sudo zypper install dotnet-sdk-10.0

若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述

安装运行时

ASP.NET Core运行时允许您运行那些未包含运行时的.NET应用程序。 以下命令安装 ASP.NET Core运行时,这是.NET最兼容的运行时。 在终端中,运行以下命令:

sudo zypper install aspnetcore-runtime-10.0

作为 ASP.NET Core 运行时的替代方法,可以安装不包含 ASP.NET Core支持的 .NET Runtime:将上一命令中的 aspnetcore-runtime-10.0 替换为 dotnet-runtime-10.0

sudo zypper install dotnet-runtime-10.0

若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述

如何安装其他版本

所有版本的 .NET 都可以在 https://dotnet.microsoft.com/download/dotnet 下载,但需要 手动安装。 可以尝试使用包管理器安装不同版本的.NET。 但请求的版本可能不可用。

添加到包管理器的包以可破解的格式命名,例如:{product}-{type}-{version}

  • 产品
    要安装的.NET产品的类型。 有效选项是:

    • dotnet
    • aspnetcore
  • 类型
    选择 SDK 或运行时。 有效选项是:

    • sdk(仅适用于dotnet产品)
    • runtime
  • 版本
    要安装的 SDK 或运行时的版本。 有效选项为任何已发布的版本,例如:

    • 9.0
    • 8.0
    • 3.1
    • 2.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时可能会遇到的常见错误的信息。

找不到包

重要

Microsoft 包源 会根据 .NET 版本为不同架构发布包:

  • .NET 10:仅限 x64Arm64 包。
  • .NET 9:仅限 x64 包。
  • .NET 8:仅限 x64 包。

如果需要在其他架构(如 Arm32)上安装 .NET,请不要通过包管理器从 Microsoft 包源进行安装。 有关安装 .NET without a package manager 的详细信息,请参阅以下文章之一:

无法获取

安装.NET包时,可能会看到类似于 signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod' 的错误。 一般来说,此错误意味着.NET的包源正在使用较新的包版本进行升级,并且稍后应重试。 升级期间,软件包源的不可用时间不应超过 2 小时。 如果持续收到此错误超过 2 小时,请在 https://github.com/dotnet/core/issues 中提交问题。

依赖项

使用包管理器进行安装时,将为你安装这些库。 但是,如果手动安装.NET或发布自包含应用,则需要确保已安装这些库:

  • krb5
  • libicu
  • libopenssl3 (OpenSSL 3.x)

重要

从 .NET 8 开始,openSUSE 的.NET包取决于 OpenSSL 3.x(libopenssl3)。 此更改也适用于 .NET 6 和 .NET 7 个包。 有关详细信息,请参阅 openSUSE 和 SLES 的 .NET 包依赖于 OpenSSL 3.x

可以使用 zypper install 命令安装依赖项。 以下代码片段演示了如何安装 krb5 库:

sudo zypper install krb5

有关依赖项的详细信息,请参阅独立式 Linux 应用

后续步骤