TargetFramework 從 netcoreapp 變更為 net

MSBuild TargetFramework 屬性的值從 netcoreapp3.1 變更為 net5.0。 這可能中斷依賴剖析 TargetFramework 值的程式碼。

導入的版本

5.0

變更描述

在 .NET Core 1.0 - 3.1 中,MSBuild TargetFramework 屬性的值會以 netcoreapp 開頭,例如,netcoreapp3.1 適用於以 .NET Core 3.1 為目標的應用程式。 從 .NET 5 開始,此值簡化為僅以 net 開頭,例如 net5.0 適用於 .NET 5.0。

如需詳細資訊,請參閱 .NET 標準的未來.NET 5 中的目標架構名稱

變更原因

  • 簡化 TargetFramework 值。
  • 讓專案能在 TargetFramework 屬性中包含 TargetPlatform

如果您有剖析 TargetFramework 值的邏輯,則必須加以更新。 例如,下列 MSBuild 條件依賴 TargetFramework 的值。

<PropertyGroup Condition="$(TargetFramework.StartsWith('netcoreapp'))">

針對此需求,您可更新程式碼,改為比較目標架構識別碼。

<PropertyGroup Condition="'$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))' == '.NETCoreApp'">

受影響的 API

N/A