前情提要
筆者這邊遇到的問題是電腦環境中有多個sdk
版本,需要指定比較舊的sdk
版本來建立專案,筆者之前剛幫公司用基礎專案時遇到3.1LTS
版本,因此有跟著升級,dotnet 5
因不是LTS版本就沒有跟著升,就坐著等dotnet 6
了。
依上述,筆者公司開發環境停留在3.1
,但因前一陣子重灌電腦,重新安裝Visual Studio 2019
後,預設安裝dotnet 5
,筆者還特地下載dotnet core 3.1 sdk
來安裝,因此環境中有兩個版本,但若沒有特別指定時,會以最新的sdk
版本對應的範本產生,最後列出筆者電腦環境的sdk
1 | dotnet --list-sdks |
內容
筆者這邊會示範加入options
前和加入options
之後的效果,就此紀錄成功以指定sdk
版本建立專案過程。
預設範本
筆者示範一下沒有加任何options
時的建置專案
1 | dotnet new webapi -o demo-5.API |
接著進到此範例API專案中,觀看一下csproj
檔案
1 | cd demo-5.API |
使用vscode將專案檔案打開來看一下,就會發現是TargetFramework
中的值為net5.0
1 | <Project Sdk="Microsoft.NET.Sdk.Web"> |
指定dotnet sdk版本
因為筆者公司開發專案還停留在dotnet 3.1
,若自己寫一些demo或測試專案時,希望sdk版本也是一致,因此研究了一下dotnet new cli
指令相關options
,發現指定sdk版本是放在第二層,是跟著你的範本的,以上述筆者示範來說,webapi
專案,webapi
範本專案後面有諸多options
可以設定,類似像預設不要設定https
等等,其中-f
這個option
可以指定sdk
版本,另,以官方文件指出,我們可以輸入的值如下:
SDK 版本 | 預設值 |
---|---|
5.0 | net5.0 |
3.1 | netcoreapp3.1 |
3.0 | netcoreapp3.0 |
2.1 | netcoreapp2.1 |
看完對照表之後,跟著筆者下指令吧,目標是建置出來的webapi
範本專案套用dotnet core 3.1
1 | dotnet new webapi -o demo-3.API -f netcoreapp3.1 |
依樣使用vscode打開專案檔來看一下
1 | cd demo-3.API\ |
1 | <Project Sdk="Microsoft.NET.Sdk.Web"> |
從專案檔內容可以看出,成功建立dotnet core3.1
範本專案
結論
dotnet cli
指令應有盡有,筆者趁這個機會,重新看了一下cli
教學文件,再熟悉一下相關設定options
,也是一個不錯的收穫,若有一樣的困擾的讀者,希望有幫助到你們。
參考