Changement de TargetFramework de netcoreapp en net
La valeur de la propriété MSBuild TargetFramework
est passée de netcoreapp3.1
à net5.0
. Cela peut interrompre le code qui repose sur l’analyse de la valeur de TargetFramework
.
Version introduite
5,0
Description de la modification
Dans .NET Core 1.0 - 3.1, la valeur de la propriété MSBuild TargetFramework
commence par netcoreapp
, par exemple, netcoreapp3.1
pour les applications qui ciblent .NET Core 3.1. À compter de .NET 5, cette valeur est simplifiée pour commencer parnet
, par exemple, net5.0
pour .NET 5.0.
Pour plus d’informations, consultez Avenir de .NET Standard et Noms des versions cibles de .Net 5.
Raison du changement
- Simplifie la valeur
TargetFramework
. - Permet aux projets d’inclure une
TargetPlatform
dans la propriétéTargetFramework
.
Action recommandée
Si vous avez une logique qui analyse la valeur de TargetFramework
, vous devez la mettre à jour. Par exemple, la condition MSBuild suivante s’appuie sur la valeur de TargetFramework
.
<PropertyGroup Condition="$(TargetFramework.StartsWith('netcoreapp'))">
Pour cette exigence, vous pouvez mettre à jour le code pour comparer l’identificateur de la version cible de .Net Framework à la place.
<PropertyGroup Condition="'$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))' == '.NETCoreApp'">
API affectées
N/A