我正在尝试构建一个需要特定版本的 .Net SDK 的 .Net 应用程序,即:"version": "2.2.107"
最近的 apt 更新已将已安装的 .Net SDK 版本更新为最新可用版本,即2.2.300
.
是否可以安装同一个 SDK 的多个版本?
我可以安装多个次要 SDK 版本,如此处所示
$ dotnet --list-sdks
2.1.700 [/usr/share/dotnet/sdk]
2.2.300 [/usr/share/dotnet/sdk]
我试图避免为了构建此应用程序而必须卸载当前安装的版本。
作为旁注,Microsoft 下载页面没有提供安装特定版本的说明,我怀疑这是一个错误。显示的命令将始终安装最新版本,即使您通过单击实际要安装的版本进入该页面也是如此。
https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-2.2.107
每个包管理器,如 APT 或 RPM,都处理最新(且唯一最新)版本的包。它适用于 .Net Core 包,因此您不能同时拥有旧版和新版包。Microsoft 已经准备好脚本来安装没有包管理器的 .Net Core 二进制文件(.Net Core、ASP.NET Core SDK 和运行时)。你可以从这里下载这个脚本:
https://dot.net/v1/dotnet-install.sh
使用此脚本,您可以指定要安装的版本(选项 -v 或 –version)以及要安装二进制文件的位置(选项 -i 或 –install-dir)。
该脚本非常复杂,可以使用更多选项运行。在第一次运行时指定“—help”以阅读相关信息。注意:脚本会将安装文件夹添加到当前的 $PATH 环境变量中,但不会添加到您的 shell 的配置文件中。您应该手动执行此操作。
问题出在包管理器上,它在安装新版本之前先卸载旧版本。您可以使用 Microsoft 提供的 botnet-install 脚本独立于包管理器获取和安装 dotnet 二进制包。您可以在此处找到所有说明: https ://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script