今天把在遠端的倉庫的代碼在另一台電腦上拷貝下來,電腦上.net core 環境也已經安裝了,但是發現有幾個項目沒有加載成功,然后重新加載項目,vs2017卻提示
項目文件不完整,缺少預期導入
查看錯誤列表,大意就是,項目的sdk版本可能是 .net core 2.0的,而我電腦沒有.net core 2.0,是 .net core 2.1
The current .NET SDK does not support targeting .NET Core 2.0. Either target .NET Core 1.1 or lower, or use a version of the .NET SDK that supports .NET Core 2.0.
於是我就把sdk版本能下的都下了,包括 2.0 , 2.1 ,2.2
PS C:\Users\Administrator> dotnet --list-sdks
2.1.202 [C:\Program Files\dotnet\sdk] .net core 2.0
2.1.400 [C:\Program Files\dotnet\sdk] .net core 2.1
2.1.401 [C:\Program Files\dotnet\sdk] .net core 2.1
2.2.100-preview1-009349 [C:\Program Files\dotnet\sdk] .net core 2.2
結果還是不行,這時,我發現,項目里面有個global.json的文件,立馬去官網看了一下,果然原因在這里。
通過 global.json 文件,可定義在運行 .NET Core CLI 命令時使用的 .NET Core SDK 版本。 選擇 .NET Core SDK 與指定項目所面向的運行時無關。 .NET Core SDK 版本指示使用哪個版本的 .NET Core CLI 工具。 通常會使用最新版本的工具,因此不需要 global.json 文件。
有關指定運行時的詳細信息,請參閱目標框架。
.NET Core SDK 在當前工作目錄(不必與項目目錄相同)或其某個父目錄中查找 global.json 文件。
然后查看 global.json內容
{
"sdk": {
"version": "2.1.300"
}
}
我電腦剛好沒這個版本。。。,好氣 (`ヘ´)=3 ,於是把這個文件刪除,搞定。當然在文件中指定sdk的版本也可以。可以看自己需求。