.NET Core SDK 版本 - 要卸载哪个?

Posted

技术标签:

【中文标题】.NET Core SDK 版本 - 要卸载哪个?【英文标题】:.NET Core SDK versions - which to uninstall? 【发布时间】:2017-04-05 07:00:03 【问题描述】:

我的机器上安装了以下版本的 .NET Core SDK:

请确认我了解这些内容(以及是否可以卸载它们):

.NET Core SDK 1.0.0 (x64) Installer (x64):这是随 VS2017 一起安装的

.NET Core SDK 1.0.1 (x64):在某处下载 here 并手动安装。除了includes support for Fedora 24 and OpenSUSE 42.1之外,与上面的1.0.0 SDK完全一样。 那么作为 Windows 用户,我可以卸载它吗?

另外四个Microsoft .NET Core 1.x.x SDK是VS2015(和project.json)预览工具的不同版本,可以卸载吗?

【问题讨论】:

那么你最终卸载了旧版本吗?你的电脑有没有起火?考虑这样做。 确实我做到了,一切都很好。 ***.com/questions/49503010 显示如何列出和删除它们 【参考方案1】:

首先,这是我发现对了解 .NET CORE 的复杂版本控制最有用的页面:https://github.com/dotnet/core/blob/master/release-notes/download-archive.md

然后,您可能已经知道但在某些时候我还不清楚:运行时和 SDK 之间存在不同的版本控制,有时很难遵循。当您安装一些 SDK 时,它会附带相关的运行时,例如 .NET CORE SDK 1.0.1 附带运行时 FTS 1.1.1 和 LTS 1.0.4 ...看到这一点,此处安装的文件夹的创建日期可以提供信息: 'C:\Program Files\dotnet\sdk' 用于 SDK 和 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App' 用于运行时。

那么,让我告诉你我对你的陈述的看法。

.NET Core SDK 1.0.0 (x64) 安装程序 (x64):这是随 用VS2017

同意。对应https://github.com/dotnet/core/blob/master/release-notes/1.0/1.0.4.md的“.NET Core SDK 1.0.0 and 1.0.1”部分。

.NET Core SDK 1.0.1 (x64):在此处下载并安装 手动。和上面的 1.0.0 SDK 完全一样,只是它 包括对 Fedora 24 和 OpenSUSE 42.1 的支持。所以作为一个 Windows 用户,我可以卸载吗?

同意,如上述相同链接中所述。我担心的是,如果您卸载,您最终可能会卸载相关的运行时:FTS 1.1.1 和 LTS 1.0.4。在我的机器上,这些已与此 SDK 在同一日期安装,并且尚未使用 VS2017 重新安装,因此我不确定卸载程序的行为方式。

其他四个 Microsoft .NET Core 1.x.x SDK 是不同版本的 VS2015(和 project.json)预览工具,因此可以 卸载了吗?

Visual Studio 2015 与基于 project.json 的预览版 2.X 之前的所有 SDK 兼容,预览版 3 及更高版本删除了对 .json 的支持并移至 .csproj,仅与 Visual 2017 兼容。因此,如果您只使用VS2017 和最新的运行时 1.0.4/1.1.1 你可以安全地删除所有这些。只需确保您的项目没有针对您将要删除的特定运行时,请参阅 frameworks 的 https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json-to-csproj

一般性评论:.NET CORE 应该是可移植的,所以它的部署应该很容易,你不必安装它,只需复制正确的文件夹,然后设置正确的环境变量和它应该可以工作,它不会对您的环境进行深度修改(没有注册表项,没有注册大量组件......)所以您应该能够非常安全地安装/卸载和测试它。至少,这是我对 MS 想要做什么的理解。

【讨论】:

谢谢!我花了一段时间才明白这一点,但是在将软件部署到服务器上时,这一点非常重要。【参考方案2】:

4 位 linux 研究员

>> dotnet --list-sdks 

2.1.402 [/usr/share/dotnet/sdk]
2.2.105 [/usr/share/dotnet/sdk]
3.0.101 [/usr/share/dotnet/sdk]


>> sudo apt-get purge  dotnet-sdk-3.0    

希望有帮助

【讨论】:

【参考方案3】:

以下命令可帮助您了解计算机上安装的内容:

dotnet --info
dotnet --list-sdks

通常,仅保留可供下载的最新 SDK 是不够的。在撰写本文时,这对我来说是3.1 LTS,但我们有一些netcoreapp2.1 应用程序,并且需要2.1 SDK 来构建这些应用程序。一旦您确定了您需要构建的所有major.minor 组合(在我的情况下为3.12.1),下一步就是为您的构建环境确定最新兼容版本。

如果您使用 Visual Studio,请查看以下网站以比较兼容(不是最新!)版本:https://dotnet.microsoft.com/download/visual-studio-sdks。 此页面列出了与 Visual Studio 一起使用的 sdk 版本(不是 runtime 版本)。 EOL(生命周期结束)标签可帮助您了解要避免的版本(卸载,除非您构建这些版本)。您会注意到 Visual Studio 安装程序一直在安装一些旧版本(最终是因为我选择了一些 dotnet 核心工作负载?) - 不知道如何避免这种情况。

所有可用的 runtime 版本都在这里列出:https://dotnet.microsoft.com/download/dotnet-core ,但是一旦您选择了特定的 major.minor 组合,就会显示更多详细信息,包括 sdk 版本。

【讨论】:

【参考方案4】:

对于 Windows 和 macOS,现在有 Microsoft 为 .NET Core / .NET 5.x 及更高版本创建的 .NET 卸载工具

https://docs.microsoft.com/en-us/dotnet/core/additional-tools/uninstall-tool

它在 macOS 上特别有用,因为卸载 .NET Core SDK 和运行时之前需要手动删除每个版本的多个安装文件夹。但它也可能对安装了许多未使用版本的 Windows 用户有所帮助,因为它可以在一次操作中自动删除所有过时的版本。

以下命令将列出已安装的 .NET Core SDK 和运行时,Visual Studio 正在使用的那些被明确标记为:

dotnet-core-uninstall list

使用--all 开关运行该工具将删除所有版本除了正在使用的版本。有一个试运行模式来验证将被删除的内容而不进行任何更改。 SDK 和运行时必须在工具的单独调用中删除。 SDK 的试运行示例:

dotnet-core-uninstall dry-run --all --sdk

运行时的试运行示例:

dotnet-core-uninstall dry-run --all --runtime

要执行实际删除,请将dry-run 更改为remove,并以提升的访问权限 (Windows) 或 sudo (macOS) 运行命令。

【讨论】:

以上是关于.NET Core SDK 版本 - 要卸载哪个?的主要内容,如果未能解决你的问题,请参考以下文章

如何在ubuntu安装.net core sdk

.net core 版本支持

当前的 .Net SDK 不支持针对 .Net Core 2.2 目标 .Net Core 2.1 或更低版本 [重复]

[转帖].NET Core 项目指定SDK版本

VS2019打开项目加载失败:无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配

在哪里下载以前版本的 .net core sdk?