TargetFramework ändras från netcoreapp till net
Värdet för egenskapen MSBuild ändrades TargetFramework
från netcoreapp3.1
till net5.0
. Detta kan bryta kod som förlitar sig på att parsa värdet för TargetFramework
.
Version introducerad
5,0
Ändra beskrivning
I .NET Core 1.0 – 3.1 börjar värdet för egenskapen MSBuild TargetFramework
med netcoreapp
, till exempel netcoreapp3.1
för appar som riktar sig mot .NET Core 3.1. Från och med .NET 5 förenklas det här värdet för att bara börja med net
, till exempel net5.0
för .NET 5.0.
Mer information finns i Framtiden för .NET Standard - och Target Framework-namn i .NET 5.
Orsak till ändringen
- Förenklar värdet
TargetFramework
. - Gör det möjligt för projekt att inkludera en
TargetPlatform
iTargetFramework
egenskapen.
Rekommenderad åtgärd
Om du har logik som parsar värdet TargetFramework
för måste du uppdatera det. Följande MSBuild-villkor förlitar sig till exempel på värdet TargetFramework
för .
<PropertyGroup Condition="$(TargetFramework.StartsWith('netcoreapp'))">
För det här kravet kan du uppdatera koden för att jämföra målramverkets identifierare i stället.
<PropertyGroup Condition="'$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))' == '.NETCoreApp'">
Berörda API:er
Ej tillämpligt