关注爱学习公众号
扫码手机阅读更方便
本文内容 你可能有些代码当前正在 .NET Framework 上运行,但你想将这些代码移植到 .NET Core。 本文提供以下内容:移植过程概述。在将代码移植到 .NET Core 时,可能会发现一系列有用的工具。移植过程概述针对多个项目从 .N
本文内容 Ubuntu 支持 .NET Core。 本文介绍如何在 Ubuntu 上安装 .NET Core。 如果 Ubuntu 版本不受支持,则该版本不再支持 .NET Core。 不过,这些说明可能会帮助你让 .NET Core 在这些版本上运行,即使它不
本文内容 .NET Core SDK 是一组库和工具,开发人员可用其创建 .NET Core 应用程序和库。 它包含以下用于构建和运行应用程序的组件:.NET Core CLI。.NET Core 库和运行时。dotnet 驱动程序。获取 .NET
备注 某些 shell 将 # 解释为特殊字符。 在这些情况下,请将语言参数值括在引号中。 例如 dotnet new console -lang "F#"。
ASP.NET Core 文档新增内容 欢迎了解 ASP.NET Core 文档中的新增内容。使用本页可快速查找最新更改。 查找 ASP.NET Core 文档更新 新变化
本文内容 本文适用于: ✔️ .NET Core 2.1 SDK 及更高版本“属性”dotnet publish - 将应用程序及其依赖项发布到文件夹以部署到托管系统。摘要dotnet publish [<PROJECT>|<SOLUT
备注 + 表示最低版本。
备注 若要获取 ASP.NET Core Startup 和中间件的更深入的参考信息,请参阅 ASP.NET Core 中的 Startup
本文内容 本教程介绍如何使用 .NET Core CLI 创建并运行 ASP.NET Core Web 应用。你将了解如何:创建 Web 应用项目。信任开发证书。运行应用。编辑 Razor 页面。最后,在本地计算机上运行工作 Web 应用。
ASP.NET 文档 了解如何使用 ASP.NET Core 创建快速、安全、跨平台和基于云的 Web 应用和服务。 浏览教程、示例代码、基础知识、API 参考和更多内容。
Ubuntu 支持 .NET Core。 本文介绍如何在 Ubuntu 上安装 .NET Core。 如果 Ubuntu 版本不受支持,则该版本不再支持 .NET Core。 不过,这些说明可能会帮助你让 .NET Core 在这些版本上运行,即使它不受支持。
如果要开发 .NET 应用,请安装 SDK(包括运行时)。 或者,如果只需运行应用程序,请安装运行时。 如果要安装该运行时,建议安装 ASP.NET Core 运行时,因为它同时包括 .NET Core 和 ASP.NET Core 运行时。
如果已安装 SDK 或运行时,请使用 dotnet --list-sdks
和 dotnet --list-runtimes
命令查看安装了哪些版本。 有关详细信息,请参阅如何检查是否已安装 .NET Core。
仅在 x64 体系结构上支持包管理器安装。 其他体系结构(如 ARM)必须手动安装 .NET Core SDK 或 .NET Core 运行时。 有关详细信息,请参阅下面的手动安装部分。
下表列出了当前支持的 .NET Core 版本以及支持它们的 Ubuntu 版本。 这些版本在 .NET Core 版本达到支持终止日期或 Ubuntu 的版本达到生命周期之前仍受支持。
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 版本不再受支持。 这些版本的下载仍保持发布状态:
添加到包管理器源的包以可改动的格式命名:{product}-{type}-{version}
。
product
要安装的 .NET 产品的类型。 有效选项是:
type
选择 SDK 或运行时。 有效选项是:
version
要安装的 SDK 或运行时的版本。 本文始终提供最新支持的版本的说明。 有效选项为任何已发布的版本,例如:
尝试下载的 SDK/运行时可能不适用于 Linux 发行版。 有关受支持的发行版的列表,请参阅 .NET Core 依赖项和要求。
aspnetcore-runtime-3.1
dotnet-runtime-2.1
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 依赖项和要求。
使用 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
.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 进行安装可通过几个命令来完成。 安装 .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
.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
? 请注意,此版本的 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
.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
? 请注意,此版本的 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
.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
使用 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
.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
? 请注意,此版本的 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
.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
? 请注意,此版本的 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
.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
? 请注意,此版本的 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
.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
使用 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
.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
当新的修补程序版本适用于 .NET Core 时,只需使用以下命令通过 APT 进行升级:
sudo apt-get update
sudo apt-get upgrade
本部分提供有关使用 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 是应用及其依赖项的捆绑包,无需修改即可在多个不同的 Linux 发行版中正常运行。 可以从 Snap Store 中发现和安装 Snap。 若要详细了解 Snap,请参阅开始使用 Snap。
只有受支持的 .NET Core 版本,才能通过 Snap 获取。
适用于 .NET Core SDK 的 Snap 包都是在同一标识符(即 dotnet-sdk
)下发布的。 可以通过指定通道来安装特定版本的 SDK。 SDK 包括相应的运行时。 下表列出了通道:
.NET Core 版本 | Snap 包 |
---|---|
3.1 (LTS) | 3.1 或 latest/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
命令。
通过 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
证书位置因发行版而异。 下面是我们在发行版中遇到此问题的位置。
/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
/etc/ssl/ca-bundle.pem
/etc/ssl/certs/ca-certificates.crt
使用包管理器进行安装时,将为你安装这些库。 但是,如果手动安装 .NET Core 或发布自包含的应用,则需要确保已安装以下库:
对于使用 System.Drawing.Common 程序集的 .NET Core 应用,还需要以下依赖项:
libgdiplus(版本 6.0.1 或更高版本)
警告
可以通过将 Mono 存储库添加到系统来安装最新版 libgdiplus。 有关详细信息,请参阅 https://www.mono-project.com/download/stable/。
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,每个都有不同的配置文件。 例如:
为 shell 编辑相应的源文件,并将 :$HOME/dotnet
添加到现有 PATH
语句的末尾。 如果不包含 PATH
语句,则使用 export PATH=$PATH:$HOME/dotnet
添加新行。
另外,将 export DOTNET_ROOT=$HOME/dotnet
添加至文件的末尾。
使用此方法可以将不同的版本安装到不同的位置,并明确选择应用程序要使用的对应版本。