如何在 VS.net 解决方案中将 .Net 标准项目迁移到 .Net 5?

How to migrate a .Net standard project to .Net 5 in VS.net solution?

我有一个包含 .Net CORE 和 .Net 标准项目的 VS 解决方案。我刚刚通过切换目标框架 属性 将所有 .Net CORE 项目更改为使用 .Net 5,如下所示

但是我不能对 .Net 标准项目做同样的事情,因为框架 属性 下拉列表没有 .Net 5 的选项。

我确实尝试了“安装其他框架”选项并安装了 .Net 5 SDK(不知道为什么我需要这样做,因为我的系统上已经有 .Net 5)但它没有帮助 -之后下拉列表仍然没有.Net 5。

我在这里错过了什么?

我能够主要通过修改项目文件将我所有的 .Net 标准项目转换为 .Net 5。我所做的是删除项目文件中的所有 PropertyGroup 部分并添加此

<PropertyGroup> 
   <TargetFramework>net5.0</TargetFramework> 
   <RootNamespace>MyNameSpace</RootNamespace> 
</PropertyGroup>

我能够保持所有 ItemGroup 不变。一些项目参考最初没有工作,但我能够通过简单地删除并重新添加它们来更正它们。

确保卸载项目,编辑以下 PropertyGroup 更改,然后重新加载项目

<PropertyGroup> 
   <TargetFramework>net5.0</TargetFramework> 
</PropertyGroup>

Visual Studio.Net 2022 列出 目标框架[=24= 中的 .Net(核心)、.Net 框架和 .Net 标准版本] 下拉列表,因此您可以轻松地从标准版本迁移到另一个版本。

也许,这与这句话有关:

The motivation behind .NET Standard was to establish greater uniformity in the .NET ecosystem. .NET 5 and later versions adopt a different approach to establishing uniformity that eliminates the need for .NET Standard in most scenarios.

(参见 .NET Standard