Partager via


Changement de TargetFramework de netcoreapp en net

La valeur de la propriété MSBuild TargetFramework a changé de netcoreapp3.1 à net5.0. Cela peut interrompre le code qui s’appuie 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. À partir de .NET 5, cette valeur est simplifiée pour commencer simplement par `net`, par exemple `net5.0` pour .NET 5.0.

Pour plus d’informations, consultez l’avenir des noms du .NET Standard et de l’infrastructure cible dans .NET 5.

Raison de la modification

  • Simplifie la TargetFramework valeur.
  • Permet aux projets d’inclure une TargetPlatform dans la TargetFramework propriété.

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