C# 在vs中打开解决方案时,dotnet core 3.0无法找到dotnetcore sdk
我正在尝试加载ASP.NET核心MVC的源代码。但是,当我克隆项目,签出v3.0.0,并尝试在VisualStudio2019 v16.3.4中打开解决方案时,所有项目都出现了以下错误 找不到.NET核心SDK。检查是否已安装,以及global.json中指定的版本(如果有)是否与已安装的版本匹配 我已确保.net core 3.0 sdk已下载到我的计算机上,并且运行dotnet-info会生成以下数据: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
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年,并应用最新更新。如果您只想浏览源代码,请选择“好的解决方案”如果您只想浏览源代码,请选择“好的解决方案”