dotnet核心卸载无法从命令行执行



我正在学习C#9.0和.NET 5这本书。在标题为"删除旧版本的.NET"的部分中,有几个命令可以确保使用最新版本。

dotnet --list-sdks

dotnet --list-runtimes

两者都很好。

但是,当我运行命令时dotnet-core-uninstall --all-previews-but-latest --sdk我收到错误消息,dotnet核心卸载不是cmdlet、函数、脚本文件或可操作程序的名称。

如果我将书中的命令调整为:dotnet -core-uninstall我收到消息"未知选项:-核心卸载",然后是与dotnet --help相同的输出

同样,如果我运行dotnet -core-uninstall --all-previews-but-latest --sdk,输出告诉我-core-uninstall、--all-previews-but-latest和--sdk是未知选项。

然后我尝试从visualstudio终端运行这些命令,但也没有成功。非常感谢您的帮助!

dotnet-core-uninstall是一个单独的实验工具,不是.NET Core SDK的一部分。你需要从它的Github repo下载并安装它。

该工具不是全局工具,因为它无法删除运行时。正如repo自述所解释的:

由于.NET核心全局工具是依赖于运行时的应用程序,因此它们使用安装在计算机上的.NET核心运行时版本。该工具的目的是卸载任意.NET Core SDK和运行时,因此可能会尝试卸载运行当前进程的版本。当这种情况发生时,我们没有找到从错误中恢复并卸载其他SDK和运行时的方法。我们认为这特别有问题,因为用户可能不清楚正在卸载的SDK中有哪些运行时,或者当前正在使用哪个运行时。

例如,您可能已经安装了一个.NET 6预览版,并希望将其删除。如果dotnet-core-uninstall是一个全局工具,它将使用.NET 6预览运行时,并且无法将其删除

最新更新