Element TargetFramework został zmieniony z netcoreapp na net

Wartość właściwości MSBuild TargetFramework została zmieniona z netcoreapp3.1 na net5.0. Może to uszkodzić kod, który opiera się na analizowaniu wartości TargetFramework.

Wprowadzona wersja

5,0

Opis zmiany

W programie .NET Core 1.0 — 3.1 wartość właściwości MSBuild TargetFramework rozpoczyna się od netcoreapp, na przykład netcoreapp3.1 dla aplikacji przeznaczonych dla platformy .NET Core 3.1. Począwszy od platformy .NET 5, ta wartość jest uproszczona, aby rozpocząć od net, na przykład net5.0 dla platformy .NET 5.0.

Aby uzyskać więcej informacji, zobacz Przyszłość nazw platform .NET Standard i Target na platformie .NET 5.

Przyczyna wprowadzenia zmiany

  • TargetFramework Upraszcza wartość.
  • Umożliwia dołączanie TargetPlatform projektów do TargetFramework właściwości .

Jeśli masz logikę, która analizuje wartość TargetFramework, musisz ją zaktualizować. Na przykład następujący warunek MSBuild opiera się na wartości TargetFramework.

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

Na potrzeby tego wymagania możesz zaktualizować kod, aby porównać identyfikator platformy docelowej.

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

Dotyczy interfejsów API

Nie dotyczy