.net core 项目加载提示项目文件不完整缺少预期导入的解决办法

今天把在远端的仓库的代码在另一台电脑上拷贝下来,电脑上.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的版本也可以。可以看自己需求。

posted @ 2018-09-08 09:46  DHclly  阅读(9445)  评论(0编辑  收藏  举报