Windows 找不到最新安装的 .NET SDK

Ric*_*SFT 5 .net windows .net-core dotnet-sdk

我已经成功安装了最新的 .NET SDK,但 Windows 无法识别它。这表现为以下故障之一:

  • dotnet --list-sdks 不包括最新的 .NET SDK。
  • Windows x64 找不到 .NET 5 或 .NET 6。
  • 尝试打开项目时,Visual Studio 找不到最新的 SDK 或引发以下错误之一:
    • 项目“MyProject”加载失败:未找到指定的 SDK“Microsoft.NET.Sdk”。

    • 无法找到 .NET SDK。检查它是否已安装以及 global.json 中指定的版本(如果有)是否与安装的版本匹配

    • 当前 .NET SDK 不支持面向 .NET Core NN 面向 .NET Core NM 或更低版本,或使用支持 .NET Core NN 的 .NET SDK 版本

如何让 Windows 识别最新安装的 .NET SDK 版本?

Ric*_*SFT 9

运行where dotnet命令行。如果输出类似于:

C:\Program Files (x86)\dotnet\dotnet.exe
C:\Program Files\dotnet\dotnet.exe
Run Code Online (Sandbox Code Playgroud)

然后在某个时间安装了 32 位和 64 位版本的 SDK。

32 bit --- C:\Program Files (x86)\dotnet\dotnet.exe
62 bit --- C:\Program Files\dotnet\dotnet.exe
Run Code Online (Sandbox Code Playgroud)

计算机上安装的第一个 SDK 将 dotnet 路径放在系统路径中。任何不同位大小 SDK 的后续 SDK 安装也会将 dotnet 路径添加到系统路径,但在第一个 dotnet 路径之后。因此,默认情况下只有第一位大小的 SDK 可用,使用path变量。

有两种方法可以解决问题:

  1. 安装具有其他位大小的最新 SDK。这是最简单的解决方案。
  2. 更改系统环境变量路径中C:\Program Files (x86)\dotnet\dotnet.exe和的顺序C:\Program Files\dotnet\dotnet.exe

选择 windows 键并输入Edit,然后选择Edit the system variables 在此处输入图片说明

选择高级选项卡上的环境变量按钮:

在此处输入图片说明

系统变量(不是用户变量)下选择路径>编辑

在此处输入图片说明

找到C:\Program Files\dotnet\dotnet.exe(64 位) 和C:\Program Files\dotnet\dotnet.exe(32 位)的条目,然后使用上按钮更改顺序。下面是一个例子:

在此处输入图片说明

选择OK按钮,直到所有窗口都关闭。打开一个新的命令提示符并运行 where dotnet。

从回答https://github.com/dotnet/core/issues/5962 在更多细节https://weblog.west-wind.com/posts/2019/Apr/20/Adventures-in-NET-SDK-Installation- SDKs-not-Showing-Up

  • 在我的例子中,where 命令没有显示任何内容,而且 Visual Studio 2019 似乎只是没有将 `C:\Program Files\dotnet` 和 `C:\Program Files (x86)\dotnet` 文件路径添加到我的系统路径中环境变量。因此,您的解决方案的第二部分是适用的。谢谢你! (2认同)