SDK 样式项目是新 .Net Framework 项目的推荐方法吗?

Is SDK style project the recommended approach for new .Net Framework projects?

我正在开发一个 .Net Framework 4.8 解决方案,其中包含 20 个项目(以及其他 WPF)。 我们正在讨论我们现在是否应该将我们的项目转换为 SDK 样式以获得新的和改进的项目格式。

新的 SDK 样式是新 .Net Framework 项目的推荐方法吗?或者它主要用作转换为 Core 的步骤?我找不到 Microsoft 说你应该这样做的任何内容,Visual Studio 中的新项目仍然使用旧格式创建。 有什么好的理由不转换为 SDK 样式吗?

开始一个新的项目,你可以使用新的SDK风格(通用项目系统)。它适用于大多数项目类型,但不是所有项目类型。

here可以知道,.NET Framework默认的项目格式是Non-SDK-style,.NET Core和.NET Standard是SDK-style。

我觉得如果不是必须的话,.NET Framework可能暂时不用SDK风格。用于创建 sdk 风格的 .net 框架项目。我们需要手动设置。

例如,您可以创建一个 Class 库 (.NET Standard) 项目并修改 csproj 文件。

初始文件:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
</Project>

您可以将其编辑为:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
     <TargetFramework>net48</TargetFramework>
  </PropertyGroup>
</Project>

然后,你就可以得到一个sdk风格的.net框架项目。

SDK-style 是一种项目格式,可能与.NET Framework 到.NET Core 的转换无关。

如果需要,您可以将旧的 .NET Framework 项目迁移到 .NET Core 项目。移植项目可以参考Considerations when porting and Windows desktop technologies.