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 lanserad

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 ändring

  • Förenklar värdet TargetFramework .
  • Gör det möjligt för projekt att inkludera en TargetPlatform i TargetFramework egenskapen.

Om du har logik som analyserar värdet TargetFramework, måste du uppdatera det. Till exempel förlitar sig följande MSBuild-villkor på värdet av TargetFramework.

<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

Inte tillgänglig