Modifica di TargetFramework da netcoreapp a net

Il valore per la proprietà MSBuild TargetFramework è stato modificato da netcoreapp3.1 a net5.0. Questo può interrompere il codice che si basa sull'analisi del valore di TargetFramework.

Versione introdotta

5.0

Descrizione delle modifiche

In .NET Core 1.0 - 3.1 il valore della proprietà msbuild TargetFramework inizia con netcoreapp, ad esempio netcoreapp3.1 per le app destinate a .NET Core 3.1. A partire da .NET 5, questo valore è semplificato per iniziare con net, ad esempio net5.0 per .NET 5.0.

Per altre informazioni, vedere Il futuro dei nomi dei framework .NET Standard e Destinazione in .NET 5.

Motivo della modifica

  • Semplifica il valore TargetFramework.
  • Consente ai progetti di includere un TargetPlatform nella proprietà TargetFramework.

Se si dispone di logica che analizza il valore di TargetFramework, sarà necessario aggiornarlo. Ad esempio, la condizione MSBuild seguente si basa sul valore di TargetFramework.

<PropertyGroup Condition="$(TargetFramework.StartsWith('netcoreapp'))">

Per questo requisito, è possibile aggiornare il codice per confrontare invece l'identificatore del framework di destinazione.

<PropertyGroup Condition="'$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))' == '.NETCoreApp'">

API interessate

N/D