Linux 上 .NET Core 的先决条件Prerequisites for .NET Core on Linux

本文内容

本文介绍了在 Linux 上开发 .NET Core 应用程序所需的依赖项。支持的 Linux 发行版本/版本和依赖项适用于在 Linux 上开发 .NET Core 应用程序的两种方法:

备注

生产服务器/环境不需要 .NET Core SDK 包。部署到生产环境的应用只需要 .NET Core 运行时包。.NET Core 运行时与应用一同部署为独立部署的一部分,但是,对于依赖框架的部署应用,它必须单独部署。有关依赖框架和独立部署类型的更多信息,请参阅 .NET Core 应用程序部署另请参阅独立式 Linux 应用程序,了解特定准则。

支持的 Linux 版本Supported Linux versions

.NET Core 3.0 将 Linux 视为一个操作系统。支持的 Linux 分发都对应有一个 Linux 内部版本(根据芯片体系结构)。

有关下载链接和详细信息,请参阅 .NET Core 3.0 下载

以下 Linux 发行版本/版本支持 .NET Core 3.0:

备注

+ 表示最低版本。

(OS)Version体系结构
Red Hat Enterprise Linux6+、7X64
Oracle Linux7X64
CentOS7X64
Fedora29+X64
Debian9+x64、ARM32、ARM64
Ubuntu16.04+x64、ARM32、ARM64
Linux Mint18+X64
openSUSE15+X64
SUSE Enterprise Linux (SLES)12 SP2+X64
Alpine Linux3.8+x64、ARM64

有关 .NET Core 3.0 支持的操作系统、发行版本和版本、不支持的 OS 版本和生命周期策略链接的完整列表,请参阅 .NET Core 3.0 支持的 OS 版本

有关如何在 ARM64 上安装 .NET Core 3.0 的详细信息,请参阅在 Linux ARM64 上安装 .NET Core 3.0

.NET Core 2.2 将 Linux 视为一个操作系统。支持的 Linux 分发都对应有一个 Linux 内部版本(根据芯片体系结构)。

有关下载链接和详细信息,请参阅 .NET Core 2.2 下载

以下 Linux 发行版本/版本支持 .NET Core 2.2:

备注

+ 表示最低版本。

(OS)Version体系结构
Red Hat Enterprise Linux6、7X64
Oracle Linux7X64
CentOS7X64
Fedora29、30X64
Debian9x64、ARM32
Ubuntu16.04、18.04、18.10x64、ARM32
Linux Mint17、18X64
openSUSE15+X64
SUSE Enterprise Linux (SLES)12 SP2+X64
Alpine Linux3.7+X64

要在完整列表中了解 .NET Core 2.2 支持的操作系统、发行版本和版本、生命周期策略链接和不支持的 OS 版本,请参阅 .NET Core 2.2 支持的 OS 版本

.NET Core 2.1 将 Linux 视为一个操作系统。支持的 Linux 分发都对应有一个 Linux 内部版本(根据芯片体系结构)。

有关下载链接和详细信息,请参阅 .NET Core 2.1 下载

以下 Linux 发行版本/版本支持 .NET Core 2.1:

(OS)Version体系结构
Red Hat Enterprise Linux6、7、8X64
Oracle Linux7X64
CentOS7X64
Fedora29、30X64
Debian9x64、ARM32
Ubuntu16.04、18.04、19.04x64、ARM32
Linux Mint17、18X64
openSUSE42.3+X64
SUSE Enterprise Linux (SLES)12 SP2+X64
Alpine Linux3.7+X64

有关 .NET Core 2.1 支持的操作系统、发行版本和版本、不支持的 OS 版本和生命周期策略链接的完整列表,请参阅 .NET Core 2.1 支持的 OS 版本

Linux 发行版本依赖项Linux distribution dependencies

以下各项用作示例。确切的版本和名称可能因所选 Linux 发行版本略有不同。

UbuntuUbuntu

Ubuntu 发行版本需要安装以下库:

  • liblttng-ust0
  • libcurl3(针对 14.x 和 16.x)
  • libcurl4(针对 18.x)
  • libssl1.0.0
  • libkrb5-3
  • zlib1g
  • libicu52(针对 14.x)
  • libicu55(针对 16.x)
  • libicu57(针对 17.x)
  • libicu60(针对 18.x)对于 .NET Core 2.1 之前的版本,还需要以下依赖项:

  • libunwind8

  • libuuid1

CentOS 和 FedoraCentOS and Fedora

CentOS 发行版本需要安装以下库:

  • lttng-ust
  • libcurl
  • openssl-libs
  • krb5-libs
  • libicu
  • zlibFedora 用户:如果 openssl 的版本为 1.1 及以上版本,则需要安装 compat-openssl10。

对于 .NET Core 2.1 之前的版本,还需要以下依赖项:

使用本机安装程序安装 .NET Core 依赖项Installing .NET Core dependencies with the native installers

.NET Core 本机安装程序适用于支持的 Linux 发行版本/版本。本机安装程序需要拥有对服务器的管理员 (sudo) 访问权限。使用本机安装程序的优势在于,可以安装所有 .NET Core 本机依赖项。本机安装程序还会在整个系统内安装 .NET Core SDK。

在 Linux 上,安装程序包有两种使用方式:

  • 使用基于源的包管理器,如适用于 Ubuntu 的 apt-get,或适用于 CentOS/RHEL 的 yum。
  • 使用包本身(DEB 或 RPM)。

使用 .NET Core 安装程序脚本编写安装脚本Scripting Installs with the .NET Core installer script

dotnet-install 脚本用于执行 CLI 工具链和共享运行时的非管理员安装。可通过 https://dot.net/v1/dotnet-install.sh 下载脚本。

此脚本会默认安装最新的“LTS”版本,当前为 .NET Core 1.1。要安装 .NET Core 2.1,请使用以下开关运行脚本:

  1. ./dotnet-install.sh -c Current

安装程序 bash 脚本用于自动化方案和非管理员安装。此脚本也读取 PowerShell 开关,因此可以与 Linux/OS X 系统上的脚本结合使用。

疑难解答Troubleshoot

若对在支持的 Linux 分发/版本上安装 .NET Core 有疑问,请参阅下方你所安装的分发/版本的相应主题: