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

问题描述 投票:0回答:2

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

新的 SDK 风格是新 .Net Framework 项目的推荐方法吗?或者它主要用作转换为 Core 的一个步骤?我找不到 Microsoft 的任何内容说明您应该执行此操作,并且 Visual Studio 中的新项目仍使用旧格式创建。 有什么好的理由不转换为 SDK 风格吗?

c# visual-studio-2019 csproj
2个回答
6
投票

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

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

我想如果没有必要,.NET Framework 可能暂时不会使用 SDK 风格。用于创建 sdk 风格的 .net 框架项目。我们需要手动设置。

例如,您可以创建一个类库(.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 项目。对于移植项目,您可以参考移植时的注意事项Windows桌面技术


0
投票

另一个答案还不错,但是它没有回答微软是否真的建议在.Net Framework项目中使用SDK格式(“新项目格式”)的问题

那么,让我来回答这个问题...

微软在 https://learn.microsoft.com/en-us/dotnet/core/porting/#considerations-when-porting 上写道:

即使您还无法移植应用程序,也请考虑升级到最新的项目文件格式。 .NET Framework 项目使用过时的项目格式。尽管最新的项目格式(称为 SDK 样式项目)是为 .NET Core 及更高版本创建的,但它们可与 .NET Framework 配合使用。拥有最新格式的项目文件可以为您将来移植应用程序奠定良好的基础。

还有:

即使您不从 .NET Framework 迁移到 .NET,您仍然应该将项目文件升级到最新格式

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.