Visual Studio 2019 未显示 .NET 5 框架

Posted

技术标签:

【中文标题】Visual Studio 2019 未显示 .NET 5 框架【英文标题】:Visual Studio 2019 Not Showing .NET 5 Framework 【发布时间】:2021-01-14 18:29:35 【问题描述】:

我一直在尝试将我在 Visual Studio 中的 ASP.NET 项目从 .NET 4.7.2 框架升级到 .NET 5。我不知道问题出在哪里,因为我尝试了几种不同的方法他们都没有提供 .NET 5。

    我已经安装了最新版本的 Visual Studio Community 2019, 版本 16.8.4。 我已经安装了 .NET 5.0.102。命令提示符在我确认时确认了这一点 输入dotnet --version。 在 Visual Studio 的 工具 > 选项 > 环境 > 预览功能中, 我已启用“使用 .NET Core SDK 的预览版”,并重新启动 程序。 在 Visual Studio 安装程序中,我选择了 Modify > Individual 组件。 .NET 5.0 运行时已安装,但什么也没有 为 .NET Framework 5 列出;最高的是 4.8。 我已尝试重新启动程序和计算机,并重新安装 Visual Studio 和 .NET 5.0.102 框架。

Visual Studio 中的 关于 窗口显示我的 .NET 版本是 4.8.040。我可以在我的项目中选择的最新 .NET 框架是 4.7.2。创建新项目也不提供更新的版本。

我想使用 C# 9.0,但我的项目卡在 7.3 中。知道我做错了什么吗?

【问题讨论】:

安装 .NET 5.0.102(第 2 步)时,是否安装了 .NET SDK?。运行dotnet --info,查看“.NET SDKs installed:”下列出的内容。您需要 SDK 来开发软件:它包括编译器之类的东西,这些东西不包含在运行时 dotnet --list-sdks 向您展示了什么(--info 会为您提供更多信息,但这一点至关重要)? (不要发表评论——edit 在帖子中。)另外,术语:没有“.NET Framework 5.0” 所谓的“.NET Framework”在 4.8 结束。 .NET Core 在 5.0 中变成了“.NET”,跳过了 4.x 以避免与 .NET Framework 混淆。 也就是说,从 ASP.NET (.NET Framework 1.0-4.8) 升级到 ASP.NET Core 并非易事,我还没有看到或听说过 Visual Studio 中的项目升级命令。即使您已经安装了所有东西,这也将是一次重写,其范围将很大程度上取决于您使用的技术。 MVC 和 Web API 功能将更容易在 ASP.NET Core 上重新实现,但存在不小的差异。根本不支持 WebForms。 这可能不言而喻,但请确保在安装 SDK 后重新启动计算机。 请参阅this tutorial 以检查您是否可以通过命令创建 .NET5。如果已经安装了.NET 5,在创建“ASP.NET Core Web Application”时,可以将Project => Properties => Application标签中的Target framework修改为.NET 5。这里有一个博客:Announcing ASP.NET Core in .NET 5你可以参考。 【参考方案1】:

.NET 5 不是 .NET Framework 4.5+ 的直接替代品。如果您尝试创建一个新项目并选择 .NET Framework,那么您将能够选择例如 4.7、4.8,但不能选择 .NET 5。

您只会在 .NET Core 类型的项目中找到 .NET 5。

总而言之 - 您不能使用简单的项目属性窗口将 .NET Framework 项目切换到 .NET 5。您必须将应用程序重写为 .NET 5 - 这确实是 .NET Core 3.1 之后的下一个版本。

关于你的问题:

我想使用 C# 9.0,但我的项目卡在 7.3 中。知道我做错了什么吗?

请查看C# language versions 页面。 C# 8.0 可用于 .NET Framework 不支持的 netstandard2.1。与 C# 9.0 相同。

What is .NET 5 in comparison to .NET Core and .NET Framework 你可以在微软开发博客上阅读。

【讨论】:

【参考方案2】:

.NET 5 实际上是 .NET Core 的下一个版本,而不是 .NET Framework。 .NET Framework 是一个遗留产品,未来只会看到次要的维护修复,例如安全补丁。

从框架迁移到核心涉及处理各种重大更改,并且比简单地更改项目的目标框架更复杂。

为此,Microsoft 为 ASP.NET 提供了一个 migration guide,您可以阅读它以了解您需要在项目中进行哪些更改。

【讨论】:

以上是关于Visual Studio 2019 未显示 .NET 5 框架的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio References 显示未引用的 NuGet 包

写入存储库后,Visual Studio 未显示正确结果

Xamarin 项目未显示在 Visual Studio Android 模拟器上

更新 Visual Studio 2019 错误

Visual Studio 2019 c++latest random_device uniform_int_distribution 抛出未处理的异常

Visual Studio 2019在测试资源管理器中显示重复的测试