MSBuild TargetFramework
属性的值已从 netcoreapp3.1
此更改为 net5.0
。 这可能会破坏依赖于解析TargetFramework
的值的代码。
已引入的版本
5.0
更改描述
在 .NET Core 1.0 到 3.1 版本中,MSBuild TargetFramework
属性的值以 netcoreapp
开头,例如,面向 .NET Core 3.1 的应用程序则使用 netcoreapp3.1
。 从 .NET 5 开始,此值被简化为仅从 net
开始,例如 .NET 5.0 的 net5.0
。
有关详细信息,请参阅 .NET 5 中.NET Standard 和 Target 框架名称的未来。
更改原因
- 简化
TargetFramework
值。 - 使项目能够在
TargetPlatform
属性中包含TargetFramework
。
建议的措施
如果您有解析TargetFramework
值的逻辑代码,则需要更新它。 例如,以下 MSBuild 条件依赖于值 TargetFramework
。
<PropertyGroup Condition="$(TargetFramework.StartsWith('netcoreapp'))">
对于此要求,可以更新代码以比较目标框架标识符。
<PropertyGroup Condition="'$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))' == '.NETCoreApp'">
受影响的 API
无