Значение 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
Н/Д