Значение TargetFramework изменено с netcoreapp на net

Значение свойства MSBuild TargetFramework изменено с netcoreapp3.1 на net5.0. Это может привести к ошибкам в коде, который основан на анализе значения TargetFramework.

Представленные версии

5,0

Описание изменения

В версиях .NET Core с 1.0 по 3.1 значение свойства MSBuild TargetFramework начинается с netcoreapp, например netcoreapp3.1 для приложений, предназначенных для платформы .NET Core 3.1. Начиная с версии .NET 5 это значение упрощено и начинается с net, например net5.0 для .NET 5.0.

Дополнительные сведения см. в разделе Будущее .NET Standard и Имена целевых платформ в .NET 5.

Причина изменения

  • Упрощает значение TargetFramework.
  • Позволяет включать TargetPlatform в свойство TargetFramework в проектах.

Если вы используете логику, в которой выполняется синтаксический анализ значения TargetFramework, необходимо обновить ее. Например, в следующем условии MSBuild используется значение TargetFramework.

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

В соответствии с этим требованием можно обновить код, чтобы сравнить идентификатор целевой платформы.

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

Затронутые API

Н/Д