2018年12月25日 星期二

指定 .NET Core 專案使用特定的 SDK 版本

使用 Azure Web Application 服務時,Azure 都會很體貼的幫我們更新主機上的 .Net Core SDK,若什麼都沒有設定,這時 Web Application 自動會引用最新的 SDK,但有時候我們就只想讓該 Web Application 使用特定版本的 SDK 時,又該如何設定呢


從 .Net Core SDK 2.1 開始,命令模式下的 dotnet 命令就可以輸入 dotnet --list-sdks 來查看所有本機安裝過的 .Net Core SDK,如下


由上圖可知,我的本機端只有兩種 SDK 版本,代表我的專案在該主機下只能切換成 1.1.10 或 2.1.500 其中一個版本,以下將開始說明要如何讓專案使用指定的 SDK 版本

1. 在專案跟目錄下,建立 global.json 檔案目錄先切換到專案根目錄,輸入 dotnet new globaljson 建立我們要的設定檔


2. 然後用編輯器開啟該檔案內容如下

{
  "sdk": {
    "version": "2.1.500"
  }
}

將 Version 裡的 2.1.500 改成我們要鎖定的版本(如一開始列出的1.1.10),重新編譯專案並注意套件和 SDK 之間是否有衝突或不適用即完成


補充: 在建立 global.json 檔案時,也可以直接補上參數 --sdk-version x.x.xxx[x為 SDK 的版本號]






參考資料:

[The Will Will Web] 如何在多個 .NET Core SDK 版本之間進行切換