Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在vs中打开解决方案时,dotnet core 3.0无法找到dotnetcore sdk_C#_Asp.net Core_Asp.net Core 3.0 - Fatal编程技术网

C# 在vs中打开解决方案时,dotnet core 3.0无法找到dotnetcore sdk

C# 在vs中打开解决方案时,dotnet core 3.0无法找到dotnetcore sdk,c#,asp.net-core,asp.net-core-3.0,C#,Asp.net Core,Asp.net Core 3.0,我正在尝试加载ASP.NET核心MVC的源代码。但是,当我克隆项目,签出v3.0.0,并尝试在VisualStudio2019 v16.3.4中打开解决方案时,所有项目都出现了以下错误 找不到.NET核心SDK。检查是否已安装,以及global.json中指定的版本(如果有)是否与已安装的版本匹配 我已确保.net core 3.0 sdk已下载到我的计算机上,并且运行dotnet-info会生成以下数据: Microsoft.NETCore.App 3.0.0 [C:\Program File

我正在尝试加载ASP.NET核心MVC的源代码。但是,当我克隆项目,签出v3.0.0,并尝试在VisualStudio2019 v16.3.4中打开解决方案时,所有项目都出现了以下错误

找不到.NET核心SDK。检查是否已安装,以及global.json中指定的版本(如果有)是否与已安装的版本匹配

我已确保.net core 3.0 sdk已下载到我的计算机上,并且运行dotnet-info会生成以下数据:

Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
在.csproj文件中查找,它们都是针对

<TargetFramework>netcoreapp3.0</TargetFramework>
此外,我已确保SDK“C:\Program Files\dotnet”的路径包含在我的path变量中。我尝试添加一个指定sdk的global.json文件,但似乎没有什么不同

知道是什么导致了这个问题吗

编辑

下面是csproj文件的一个示例

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <Description>ASP.NET Core metadata.</Description>
    <TargetFramework>netstandard2.0</TargetFramework>
    <IsAspNetCoreApp>true</IsAspNetCoreApp>
    <IsShippingPackage>true</IsShippingPackage>
    <NoWarn>$(NoWarn);CS1591</NoWarn>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <PackageTags>aspnetcore</PackageTags>
  </PropertyGroup>

</Project>
,这是我机器上所有SDK的文件夹。 一些可能的原因:

您需要重新启动计算机,因为环境变量已缓存 您需要重新启动VisualStudio,因为VisualStudio缓存太多,所以需要关闭它的所有实例 您已安装64位版本的SDK,但需要32位SDK,反之亦然。 您已经安装了旧的预览sdk,并且需要在Visual Studio的选项中启用预览版本,或者下载非预览sdk,因为它是RTM 你可以试试我学到的一个技巧: 打开命令行提示符,然后键入env 获取path环境变量

它应该有

C:\Program Files\dotnet\;
C:\Program Files (x86)\dotnet\;
在里面

现在替换C:\Program Files\dotnet\;使用D:\Programs\LessPortableApps\dotnet\,其中D:\Programs\LessPortableApps\dotnet\是放置dotnet SDK的文件夹

然后,将path环境变量set path=bla设置为新路径,并替换dotnet文件夹

然后从命令提示符启动Visual Studio,例如:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe
这样,当您没有管理员权限安装.NET SDK时,就可以使用它们

还有一件事: .NET Core 3.0需要Visual Studio 2019,如果您有2017,则只有在安装了与VS2019相同版本的msbuild的情况下才能使用它

要安装最新的自2019年起的单机版MSBuild,请转到:并向下滚动至适用于Visual Studio 2017的工具,然后选择适用于Visual Studio 2019的生成工具 它适用于不需要完整IDE的用户

一些可能的原因:

您需要重新启动计算机,因为环境变量已缓存 您需要重新启动VisualStudio,因为VisualStudio缓存太多,所以需要关闭它的所有实例 您已安装64位版本的SDK,但需要32位SDK,反之亦然。 您已经安装了旧的预览sdk,并且需要在Visual Studio的选项中启用预览版本,或者下载非预览sdk,因为它是RTM 你可以试试我学到的一个技巧: 打开命令行提示符,然后键入env 获取path环境变量

它应该有

C:\Program Files\dotnet\;
C:\Program Files (x86)\dotnet\;
在里面

现在替换C:\Program Files\dotnet\;使用D:\Programs\LessPortableApps\dotnet\,其中D:\Programs\LessPortableApps\dotnet\是放置dotnet SDK的文件夹

然后,将path环境变量set path=bla设置为新路径,并替换dotnet文件夹

然后从命令提示符启动Visual Studio,例如:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe
这样,当您没有管理员权限安装.NET SDK时,就可以使用它们

还有一件事: .NET Core 3.0需要Visual Studio 2019,如果您有2017,则只有在安装了与VS2019相同版本的msbuild的情况下才能使用它

要安装最新的自2019年起的单机版MSBuild,请转到:并向下滚动至适用于Visual Studio 2017的工具,然后选择适用于Visual Studio 2019的生成工具 它适用于不需要完整IDE的用户


我有同样的问题,我找到了解决办法; 我希望你和我有同样的问题

cmd->input dotnet-info 复制.Net核心的基本路径 只需将其添加到系统的Path变量中

变量名为MSBuildSdksPath


更多详细信息,您可以查看此

我有相同的问题,我找到了解决方案; 我希望你和我有同样的问题

cmd->input dotnet-info 复制.Net核心的基本路径 只需将其添加到系统的Path变量中

变量名为MSBuildSdksPath


更多详细信息,您可以为我检查此

,我从下载的压缩文件中下载了主分支。然后,我在尝试在VS代码中加载AspNetCore.sln时遇到了相同的问题。无法加载解决方案中的所有项目

使用dotnet-info,我看到我已经安装了这些:

3.1.201 [C:\Program Files\dotnet\sdk]
3.1.402 [C:\Program Files\dotnet\sdk]
3.1.403 [C:\Program Files\dotnet\sdk]
但是,解决方案文件夹中global.json中指定的SDK版本使用的是6.0.100-alpha.1.20523.3

{
  "sdk": {
    "version": "6.0.100-alpha.1.20523.3"
  },
  "tools": {
    "dotnet": "6.0.100-alpha.1.20523.3",
    ...other settings...
  }
}

因此,我将两个设置都更改为3.1.403。重新加载解决方案后,所有项目都正确加载。

对于我来说,我将主分支下载到压缩文件中 从…起然后,我在尝试在VS代码中加载AspNetCore.sln时遇到了相同的问题。无法加载解决方案中的所有项目

使用dotnet-info,我看到我已经安装了这些:

3.1.201 [C:\Program Files\dotnet\sdk]
3.1.402 [C:\Program Files\dotnet\sdk]
3.1.403 [C:\Program Files\dotnet\sdk]
但是,解决方案文件夹中global.json中指定的SDK版本使用的是6.0.100-alpha.1.20523.3

{
  "sdk": {
    "version": "6.0.100-alpha.1.20523.3"
  },
  "tools": {
    "dotnet": "6.0.100-alpha.1.20523.3",
    ...other settings...
  }
}
因此,我将两个设置都更改为3.1.403。重新加载解决方案后,所有项目都会正确加载

转到global.json。 检查您的SDK版本 去找你的那个 下载它 重新加载所有项目 转到global.json。 检查您的SDK版本 去找你的那个 下载它 重新加载所有项目
对于版本6.0.100-alpha.1.20523.3,需要安装此


或者下载6.0.100-alpha.1.20523.3版的Visual Studio预发行版。需要安装此版本


或者下载Visual Studio的预发行版

dotnet sdk工具在当前工作目录或父目录中查找global.json文件 global.json中定义的dotnet SDK版本指示应使用的.NET CLI版本。 通常使用最新的dotnet sdk工具,因此不需要global.json。因此,如果要控制要使用哪个版本的cli,请添加global.json,否则不需要它

尝试从项目目录中删除global.json,或者父目录和工具将默认为最新可用的sdk工具

典型的global.json文件内容如下所示

{
  "sdk": {
  "version": "3.1.102",
  "rollForward": "latestFeature"
  }
}

dotnet sdk工具在当前工作目录或父目录中查找global.json文件 global.json中定义的dotnet SDK版本指示应使用的.NET CLI版本。 通常使用最新的dotnet sdk工具,因此不需要global.json。因此,如果要控制要使用哪个版本的cli,请添加global.json,否则不需要它

尝试从项目目录中删除global.json,或者父目录和工具将默认为最新可用的sdk工具

典型的global.json文件内容如下所示

{
  "sdk": {
  "version": "3.1.102",
  "rollForward": "latestFeature"
  }
}

如果你不下载sdk,请列出sdk。
dotnet-如果您不下载sdk,请列出sdk。
我的问题是,我的系统中安装了dotnet 5.0.103版本,在global.json文件-C:\Users\userid\global.json的global.json路径中,版本设置为3.1.100

将路径从版本3.1.100更新到版本5.0.103后,它再次开始工作


我的问题是,我的系统中安装了dotnet 5.0.103版本,在global.json文件-C:\Users\userid\global.json的global.json路径中,版本设置为3.1.100

将路径从版本3.1.100更新到版本5.0.103后,它再次开始工作


如果系统中未安装dot.net core 3.1+版本SDK库,请先安装,如果已安装,请修复


[1]

如果系统中未安装dot.net core 3.1+版本SDK库,请先安装,如果已安装,请修复


[1]

Close and open VS.这个问题解决了几次。如果从命令行运行dotnet-list SDK,您会得到什么?您确定在安装Visual Studio时安装了.NET Core SDK吗?我将运行安装程序并检查工作负载是否包括在内。当我执行dotnet-list sdk时,它确实包括3.0 sdk 3.0.100[C:\Program Files\dotnet\sdk]。此外,我打开和关闭了它几次,结果都是一样的:关闭和打开,而这几次解决了我的问题。如果从命令行运行dotnet-list-sdk,会得到什么?您确定在安装Visual Studio时安装了.NET Core SDK吗?我将运行安装程序并检查工作负载是否包括在内。当我执行dotnet-list sdk时,它确实包括3.0 sdk 3.0.100[C:\Program Files\dotnet\sdk]。此外,我已经打开和关闭了它几次与相同的结果我已经尝试了以上所有,但似乎没有任何工作。我想知道是否有任何进一步的诊断信息可用-例如,我的计算机上是否有“找不到.NET Core SDK”语句的编译日志,我可以在其中检查visual studio已检查的位置?只是为了提供更多信息,我已经在帖子中添加了csproj文件,并引用了SDK,以及包含SDK的文件夹。有没有办法找到VisualStudio是如何搜索sdk的,以及为什么在其中找不到它folder@Daryl1976:是否已安装Visual Studio 2017?如果是,您可能需要更新到2019年,并应用最新的更新。我已经尝试了上述所有方法,但似乎没有任何效果。我想知道是否有任何进一步的诊断信息可用-例如,我的计算机上是否有“找不到.NET Core SDK”语句的编译日志,我可以在其中检查visual studio已检查的位置?为了提供更多信息,我在帖子中添加了csproj文件和引用
下载SDK,以及包含SDK的文件夹。有没有办法找到VisualStudio是如何搜索sdk的,以及为什么在其中找不到它folder@Daryl1976:是否已安装Visual Studio 2017?如果是,您可能需要更新到2019年,并应用最新更新。如果您只想浏览源代码,请选择“好的解决方案”如果您只想浏览源代码,请选择“好的解决方案”