如何在 Ubuntu 上安裝多個版本的 .Net SDK

如何在 Ubuntu 上安裝多個版本的 .Net SDK

我正在嘗試建立一個需要特定版本的 .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]

我試圖避免為了構建此應用程式而必須卸載當前安裝的版本。

附帶說明一下,微軟下載頁面沒有給出安裝特定版本的說明,我懷疑這是一個錯誤。即使您透過點擊實際要安裝的版本進入該頁面,顯示的命令也將始終安裝最新版本。

https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-2.2.107

答案1

每個套件管理器(如 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)。

  • 使用“apt remove dotnet-”卸載現有的軟體包,
  • 將使用「—version」選項指定的選定二進位檔案安裝到相同資料夾 (/usr/share/dotnet)。

該腳本非常複雜,可以使用更多選項來運行。在第一次執行時指定「—help」來閱讀相關內容。注意:腳本會將安裝資料夾新增至目前的 $PATH 環境變數中,但不會加入 shell 的設定檔中。您應該手動執行此操作。

答案2

問題出在套件管理器上,它在安裝新版本之前先卸載舊版本。您可以使用 Microsoft 提供的 botnet-install 腳本獨立於套件管理器取得和安裝 dotnet 二進位套件。您可以在這裡找到所有說明: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script

相關內容