13

我已成功安装最新的 .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 版本?

4

1 回答 1

28

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

C:\Program Files (x86)\dotnet\dotnet.exe
C:\Program Files\dotnet\dotnet.exe

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

32 bit --- C:\Program Files (x86)\dotnet\dotnet.exe
62 bit --- C:\Program Files\dotnet\dotnet.exe

计算机上安装的第一个 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,然后选择编辑系统变量 在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

选择确定按钮,直到所有窗口都关闭。打开一个新的命令提示符并运行 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

于 2021-04-11T19:37:23.473 回答