Dela via


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 i TargetFramework egenskapen.

Om du har logik som parsar värdet TargetFrameworkför måste du uppdatera det. Följande MSBuild-villkor förlitar sig till exempel på värdet TargetFrameworkfö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