dotnet cmdlet 损坏并不断尝试安装 .NET Framework 3.5

dotnet cmdlet broken and continually tries to install .NET Framework 3.5

我正在尝试让我的 dotnet CLI 正常工作。每次我调用它时,无论它尝试安装 .NET Framework 3.5 的命令如何,都会失败并退出。示例:

PS C:\> dotnet --version
Installing .NET Framework 3.5...

Deployment Image Servicing and Management tool
Version 10.0.19041.844

Image Version: 10.0.19044.1348

Enabling feature(s)
[===================100.0%====================]
The operation completed successfully.

.NET Framework 3.5 should be installed

No installation media found!
Insert DVD or USB flash drive and run this file once again.

Press any key to continue . . .

我已经使用 dotnet-core-uninstall 工具删除了它能删除的所有内容。我已经卸载了 Visual Studio 2019 和 2017 并删除了 /.dotnet 文件夹。 dotnet 命令问题仍然存在,输出完全相同,我什至不想要 3.5,因为这不是我的项目使用的(CLI 运行的是什么???)。我不知道它指向哪里,也不知道如何查看,我的 google-fu 能力已经用完了。

我也没有权限直接编辑系统环境变量,必须使用 powershell 来编辑

固定
原来有一个 C:\windows\dotnet.bat 文件优先于随任何 sdk 安装的可执行文件。删除它解决了我的问题。

问题原来是一个杂散的 dotnet.bat 文件,该文件位于 $env:PATH 变量中所需 dotnet.exe CLI 之前的目录中,C:\windows\dotnet.bat

删除批处理文件解决了问题(调用 dotnet.exe - 即 文件扩展名 - 会 绕过 问题)。

问题是通过以下 Get-Command 调用发现的,该调用列出了名称 dotnet 的所有命令形式/可执行路径,其中 有效 排在第一位:

Get-Command dotnet -All