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

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

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

标签: c# .net visual-studio .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,您可以阅读它以了解您需要在项目中进行哪些更改。

    【讨论】:

      猜你喜欢
      • 2021-12-14
      • 1970-01-01
      • 2021-03-07
      • 2020-12-30
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      相关资源
      最近更新 更多