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 doTargetFramework
właściwości .
Zalecana akcja
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