推荐阅读
  • 从 .NET Framework 移植到 .NET Core

    本文内容 你可能有些代码当前正在 .NET Framework 上运行,但你想将这些代码移植到 .NET Core。 本文提供以下内容:移植过程概述。在将代码移植到 .NET Core 时,可能会发现一系列有用的工具。移植过程概述针对多个项目从 .N

  • 使用 Linux 包管理器进行安装

    本文内容 Ubuntu 支持 .NET Core。 本文介绍如何在 Ubuntu 上安装 .NET Core。 如果 Ubuntu 版本不受支持,则该版本不再支持 .NET Core。 不过,这些说明可能会帮助你让 .NET Core 在这些版本上运行,即使它不

  • .NET Core SDK 概述

    本文内容 .NET Core SDK 是一组库和工具,开发人员可用其创建 .NET Core 应用程序和库。 它包含以下用于构建和运行应用程序的组件:.NET Core CLI。.NET Core 库和运行时。dotnet 驱动程序。获取 .NET

  • dotnet new

    备注 某些 shell 将 # 解释为特殊字符。 在这些情况下,请将语言参数值括在引号中。 例如 dotnet new console -lang "F#"。

  • 新变化 ASP.NET Core 文档新增内容

    ASP.NET Core 文档新增内容 欢迎了解 ASP.NET Core 文档中的新增内容。使用本页可快速查找最新更改。 查找 ASP.NET Core 文档更新 新变化

  • dotnet publish

    本文内容 本文适用于: ✔️ .NET Core 2.1 SDK 及更高版本“属性”dotnet publish - 将应用程序及其依赖项发布到文件夹以部署到托管系统。摘要dotnet publish [<PROJECT>|<SOLUT

  • 安装 .NET Core SDK

    备注 + 表示最低版本。

  • ASP.NET 到 ASP.NET Core

    备注 若要获取 ASP.NET Core Startup 和中间件的更深入的参考信息,请参阅 ASP.NET Core 中的 Startup

  • 开始使用 5 分钟内即可在任意平台上创建 ASP.NET Core 应用

    本文内容 本教程介绍如何使用 .NET Core CLI 创建并运行 ASP.NET Core Web 应用。你将了解如何:创建 Web 应用项目。信任开发证书。运行应用。编辑 Razor 页面。最后,在本地计算机上运行工作 Web 应用。

  • ASP.NET Core 入门

    ASP.NET 文档 了解如何使用 ASP.NET Core 创建快速、安全、跨平台和基于云的 Web 应用和服务。 浏览教程、示例代码、基础知识、API 参考和更多内容。

使用 Linux 包管理器进行安装

Ubuntu 支持 .NET Core。 本文介绍如何在 Ubuntu 上安装 .NET Core。 如果 Ubuntu 版本不受支持,则该版本不再支持 .NET Core。 不过,这些说明可能会帮助你让 .NET Core 在这些版本上运行,即使它不受支持。

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

如果已安装 SDK 或运行时,请使用 dotnet --list-sdksdotnet --list-runtimes 命令查看安装了哪些版本。 有关详细信息,请参阅如何检查是否已安装 .NET Core

仅在 x64 体系结构上支持包管理器安装。 其他体系结构(如 ARM)必须手动安装 .NET Core SDK 或 .NET Core 运行时。 有关详细信息,请参阅下面的手动安装部分。

支持的分发

下表列出了当前支持的 .NET Core 版本以及支持它们的 Ubuntu 版本。 这些版本在 .NET Core 版本达到支持终止日期Ubuntu 的版本达到生命周期之前仍受支持。

  • ?? 指示 Ubuntu 或 .NET Core 版本仍受支持。
  • ? 指示 Ubuntu 或 .NET Core 版本在该 Ubuntu 版本上不受支持。
  • 当 Ubuntu 版本和 .NET Core 版本都有 ?? 时,将支持该 OS 和 .NET 组合。
Ubuntu .NET Core 2.1 .NET Core 3.1 .NET 5 预览版(仅限手动安装)
?? 20.04 (LTS) ?? 2.1 ?? 3.1 ?? 5.0 预览版
?? 19.10 ?? 2.1 ?? 3.1 ?? 5.0 预览版
? 19.04 ?? 2.1 ?? 3.1 ? 5.0 预览版
? 18.10 ?? 2.1 ? 3.1 ? 5.0 预览版
?? 18.04 (LTS) ?? 2.1 ?? 3.1 ?? 5.0 预览版
? 17.10 ?? 2.1 ? 3.1 ? 5.0 预览版
? 17.04 ?? 2.1 ? 3.1 ? 5.0 预览版
? 16.10 ? 2.1 ? 3.1 ? 5.0 预览版
?? 16.04 (LTS) ?? 2.1 ?? 3.1 ?? 5.0 预览版

以下 .NET Core 版本不再受支持。 这些版本的下载仍保持发布状态:

  • 3.0
  • 2.2
  • 2.0

如何安装其他版本

添加到包管理器源的包以可改动的格式命名:{product}-{type}-{version}

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

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

    • SDK
    • Runtime — 运行时
  • version
    要安装的 SDK 或运行时的版本。 本文始终提供最新支持的版本的说明。 有效选项为任何已发布的版本,例如:

    • 3.1
    • 3.0
    • 2.1

    尝试下载的 SDK/运行时可能不适用于 Linux 发行版。 有关受支持的发行版的列表,请参阅 .NET Core 依赖项和要求

示例

  • 安装 ASP.NET Core 3.1 运行时:aspnetcore-runtime-3.1
  • 安装 .NET Core 2.1 运行时:dotnet-runtime-2.1
  • 安装 .NET Core 3.1 SDK:dotnet-sdk-3.1

缺少包

如果包版本组合无效,则它不可用。 例如,未安装 ASP.NET Core SDK,所有 SDK 组件都包含在 .NET Core SDK 中。 aspnetcore-sdk-2.2 的值不正确,应为 dotnet-sdk-2.2 有关 .NET Core 支持的 Linux 发行版的列表,请参阅 .NET Core 依赖项和要求

20.04 ??

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

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

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-3.1

重要

如果收到类似于“找不到包 dotnet-sdk-3.1”的错误消息,请参阅 APT 疑难解答部分。

安装运行时

.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-3.1

重要

如果收到类似于“找不到包 aspnetcore-runtime-3.1”的错误消息,请参阅 APT 疑难解答部分。

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

sudo apt-get install -y dotnet-runtime-3.1

19.10 ??

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

wget https://packages.microsoft.com/config/ubuntu/19.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

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

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-3.1

重要

如果收到类似于“找不到包 dotnet-sdk-3.1”的错误消息,请参阅 APT 疑难解答部分。

安装运行时

.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-3.1

重要

如果收到类似于“找不到包 aspnetcore-runtime-3.1”的错误消息,请参阅 APT 疑难解答部分。

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

sudo apt-get install -y dotnet-runtime-3.1

19.04 ?

? 请注意,此版本的 Ubuntu 不再受支持。

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

wget https://packages.microsoft.com/config/ubuntu/19.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

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

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-3.1

重要

如果收到类似于“找不到包 dotnet-sdk-3.1”的错误消息,请参阅 APT 疑难解答部分。

安装运行时

.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-3.1

重要

如果收到类似于“找不到包 aspnetcore-runtime-3.1”的错误消息,请参阅 APT 疑难解答部分。

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

sudo apt-get install -y dotnet-runtime-3.1

18.10 ?

? 请注意,此版本的 Ubuntu 不再受支持。

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

wget https://packages.microsoft.com/config/ubuntu/18.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

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

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-2.1

重要

如果收到类似于“找不到包 dotnet-sdk-2.1”的错误消息,请参阅 APT 疑难解答部分。

安装运行时

.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-2.1

重要

如果收到类似于“找不到包 aspnetcore-runtime-2.1”的错误消息,请参阅 APT 疑难解答部分。

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

sudo apt-get install -y dotnet-runtime-2.1

18.04 ??

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

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

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-3.1

重要

如果收到类似于“找不到包 dotnet-sdk-3.1”的错误消息,请参阅 APT 疑难解答部分。

安装运行时

.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-3.1

重要

如果收到类似于“找不到包 aspnetcore-runtime-3.1”的错误消息,请参阅 APT 疑难解答部分。

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

sudo apt-get install -y dotnet-runtime-3.1

17.10 ?

? 请注意,此版本的 Ubuntu 不再受支持。

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

wget https://packages.microsoft.com/config/ubuntu/17.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

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

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-2.1

重要

如果收到类似于“找不到包 dotnet-sdk-2.1”的错误消息,请参阅 APT 疑难解答部分。

安装运行时

.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-2.1

重要

如果收到类似于“找不到包 aspnetcore-runtime-2.1”的错误消息,请参阅 APT 疑难解答部分。

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

sudo apt-get install -y dotnet-runtime-2.1

17.04 ?

? 请注意,此版本的 Ubuntu 不再受支持。

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

wget https://packages.microsoft.com/config/ubuntu/17.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

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

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-2.1

重要

如果收到类似于“找不到包 dotnet-sdk-2.1”的错误消息,请参阅 APT 疑难解答部分。

安装运行时

.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-2.1

重要

如果收到类似于“找不到包 aspnetcore-runtime-2.1”的错误消息,请参阅 APT 疑难解答部分。

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

sudo apt-get install -y dotnet-runtime-2.1

16.10 ?

? 请注意,此版本的 Ubuntu 不再受支持。

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

wget https://packages.microsoft.com/config/ubuntu/16.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

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

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-2.1

重要

如果收到类似于“找不到包 dotnet-sdk-2.1”的错误消息,请参阅 APT 疑难解答部分。

安装运行时

.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-2.1

重要

如果收到类似于“找不到包 aspnetcore-runtime-2.1”的错误消息,请参阅 APT 疑难解答部分。

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

sudo apt-get install -y dotnet-runtime-2.1

16.04 ??

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

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

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-3.1

重要

如果收到类似于“找不到包 dotnet-sdk-3.1”的错误消息,请参阅 APT 疑难解答部分。

安装运行时

.NET Core 运行时允许运行使用不随附运行时的 .NET Core 所开发的应用。 以下命令安装 ASP.NET Core 运行时,这是与 .NET Core 最兼容的运行时。 在终端中,运行以下命令。

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-3.1

重要

如果收到类似于“找不到包 aspnetcore-runtime-3.1”的错误消息,请参阅 APT 疑难解答部分。

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

sudo apt-get install -y dotnet-runtime-3.1

APT 更新 SDK 或运行时

当新的修补程序版本适用于 .NET Core 时,只需使用以下命令通过 APT 进行升级:

sudo apt-get update
sudo apt-get upgrade

APT 疑难解答

本部分提供有关使用 APT 安装 .NET Core 时可能会遇到的常见错误的信息。

无法定位

如果收到类似于“找不到包 {netcore-package}”的错误消息,请运行以下命令。

以下命令组中有两个占位符。

  • {dotnet-package}
    此项表示要安装的 .NET Core 包,如 aspnetcore-runtime-3.1 此项在以下 sudo apt-get install 命令中使用。

  • {os-version}
    此项表示你所使用的 Linux 版本。 此项在以下 wget 命令中使用。

尝试清除包列表:

sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install {dotnet-package}

如果这不起作用,可使用以下命令运行手动安装:

sudo apt-get install -y gpg
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/ubuntu/{os-version}/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

未能提取

安装 .NET Core 包时,可能会看到类似于 Failed to fetch ... File has unexpected size ... Mirror sync in progress? 的错误。 此错误表示 .NET Core 的包源正在通过更新的包版本进行更新,应稍后重试。 升级期间,包源的不可用时间不应超过 30 分钟。 如果持续收到此错误超过 30 分钟,请在 https://github.com/dotnet/core/issues 中提交问题。

Snap

.NET Core 可以从 Snap Store 中获取。

Snap 是应用及其依赖项的捆绑包,无需修改即可在多个不同的 Linux 发行版中正常运行。 可以从 Snap Store 中发现和安装 Snap。 若要详细了解 Snap,请参阅开始使用 Snap

只有受支持的 .NET Core 版本,才能通过 Snap 获取。

安装 SDK

适用于 .NET Core SDK 的 Snap 包都是在同一标识符(即 dotnet-sdk)下发布的。 可以通过指定通道来安装特定版本的 SDK。 SDK 包括相应的运行时。 下表列出了通道:

.NET Core 版本 Snap 包
3.1 (LTS) 3.1latest/stable
2.1 (LTS) 2.1
.NET 5.0(预览) 5.0/beta

若要安装适用于 .NET Core SDK 的 Snap 包,请运行 snap install 命令。 使用 --channel 参数来指明要安装哪个版本。 如果省略此参数,则使用 latest/stable 在下面的示例中,指定的是 3.1

sudo snap install dotnet-sdk --classic --channel=3.1

接下来,使用 snap alias 命令为系统注册 dotnet 命令:

sudo snap alias dotnet-sdk.dotnet dotnet

此命令的格式为 sudo snap alias {package}.{command} {alias} 可以选择所需的任何 {alias} 名称。 例如,可以根据 Snap 安装的特定版本来命名此命令:sudo snap alias dotnet-sdk.dotnet dotnet31 运行命令 dotnet31 时,将调用这一特定版本的 .NET。 但这与大多数教程和示例不兼容,因为它们需要使用 dotnet 命令。

安装运行时

适用于 .NET Core Runtime 的 Snap 包都是在各自的包标识符下发布的。 下表列出了这些包标识符:

.NET Core 版本 Snap 包
3.1 (LTS) dotnet-runtime-31
3.0 dotnet-runtime-30
2.2 dotnet-runtime-22
2.1 (LTS) dotnet-runtime-21

若要安装适用于 .NET Core Runtime 的 Snap 包,请运行 snap install 命令。 在下面的示例中,安装的是 .NET Core 3.1:

sudo snap install dotnet-runtime-31 --classic

接下来,使用 snap alias 命令为系统注册 dotnet 命令:

sudo snap alias dotnet-runtime-31.dotnet dotnet

此命令的格式为 sudo snap alias {package}.{command} {alias} 可以选择所需的任何 {alias} 名称。 例如,可以根据 Snap 安装的特定版本来命名此命令:sudo snap alias dotnet-runtime-31.dotnet dotnet31 运行命令 dotnet31 时,将调用这一特定版本的 .NET。 但这与大多数教程和示例不兼容,因为它们需要使用 dotnet 命令。

SSL 证书错误

通过 Snap 安装 .NET 后,可能会在某些发行版上找不到 .NET SSL 证书,并且可能会在 restore 期间看到如下错误:

Processing post-creation actions...
Running 'dotnet restore' on /home/myhome/test/test.csproj...
  Restoring packages for /home/myhome/test/test.csproj...
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error :   The SSL connection could not be established, see inner exception. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error :   The remote certificate is invalid according to the validation procedure. [/home/myhome/test/test.csproj]

若要解决此问题,请设置一些环境变量:

export SSL_CERT_FILE=[path-to-certificate-file]
export SSL_CERT_DIR=/dev/null

证书位置因发行版而异。 下面是我们在发行版中遇到此问题的位置。

  • Fedora - /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
  • OpenSUSE - /etc/ssl/ca-bundle.pem
  • Solus - /etc/ssl/certs/ca-certificates.crt

依赖项

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

  • libc6
  • libgcc1
  • libgssapi-krb5-2
  • libicu52(针对 14.x)
  • libicu55(针对 16.x)
  • libicu60(针对 18.x)
  • libicu66(适用于 20. x)
  • libssl1.0.0(适用于 14.x、16.x)
  • libssl1.1(适用于18.x、20.x)
  • libstdc++6
  • zlib1g

对于使用 System.Drawing.Common 程序集的 .NET Core 应用,还需要以下依赖项:

脚本安装

dotnet-install 脚本用于 SDK运行时的自动化和非管理员安装。 可通过 https://dot.net/v1/dotnet-install.sh 下载脚本。

此脚本默认安装最新的 SDK 长期支持 (LTS) 版本,即 .NET Core 3.1。 若要安装当前版本(可能不是 (LTS) 版本),请使用 -c Current 参数。

./dotnet-install.sh -c Current

若要安装 .NET Core 运行时而非 SDK,请使用 --runtime 参数。

./dotnet-install.sh -c Current --runtime aspnetcore

可以通过更改 -c 参数以指示特定版本来安装特定版本。 以下命令将安装 .NET Core SDK 3.1。

./dotnet-install.sh -c 3.1

有关详细信息,请参阅 dotnet-install 脚本参考

手动安装

除了使用包管理器,还可以下载并手动安装 SDK 和运行时。 手动安装通常作为持续集成测试的一部分执行,或在不支持的 Linux 分发版上执行。 对于开发人员或用户,一般使用包管理器会更好。

如果安装 .NET Core SDK,则无需安装相应的运行时。 首先,从以下站点之一下载 SDK 或运行时的二进制版本:

接下来,提取已下载的文件并使用 export 命令设置 .NET Core 使用的变量,然后确保 .NET Core 在 PATH 中。

若要提取运行时并使 .NET Core CLI 命令可用于终端,请先下载 .NET Core 二进制版本。 然后,打开终端并从保存文件的目录运行以下命令。 根据下载内容,存档文件名称可能不同。

使用以下命令来提取运行时

mkdir -p "$HOME/dotnet" && tar zxf aspnetcore-runtime-3.1.0-linux-x64.tar.gz -C "$HOME/dotnet"
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

使用以下命令来提取 SDK

mkdir -p "$HOME/dotnet" && tar zxf dotnet-sdk-3.1.301-linux-x64.tar.gz -C "$HOME/dotnet"
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

提示

前面的 export 命令只会使 .NET Core CLI 命令对运行它的终端会话可用。

你可以编辑 shell 配置文件,永久地添加这些命令。 Linux 提供了许多不同的 shell,每个都有不同的配置文件。 例如:

  • Bash Shell:~/.bash_profile、~/.bashrc
  • Korn Shell:~/.kshrc 或 .profile
  • Z Shell:~/.zshrc 或 .zprofile

为 shell 编辑相应的源文件,并将 :$HOME/dotnet 添加到现有 PATH 语句的末尾。 如果不包含 PATH 语句,则使用 export PATH=$PATH:$HOME/dotnet 添加新行。

另外,将 export DOTNET_ROOT=$HOME/dotnet 添加至文件的末尾。

使用此方法可以将不同的版本安装到不同的位置,并明确选择应用程序要使用的对应版本。

后续步骤

关于我们 免责声明 联系我们
Copyright © 2021 爱学习网 浙ICP备18049359号 网站地图 Google地图