Compartir a través de


Cambio de TargetFramework de netcoreapp a net

El valor de la propiedad TargetFramework de MSBuild ha cambiado de netcoreapp3.1 a net5.0. Esto puede interrumpir el código que se basa en el análisis del valor de TargetFramework.

Versión introducida

5.0

Descripción del cambio

En .NET Core 1.0-3.1, el valor de la propiedad TargetFramework de MSBuild comienza con netcoreapp, por ejemplo, netcoreapp3.1 para las aplicaciones destinadas a .NET Core 3.1. A partir de .NET 5, este valor se ha simplificado para que solo empiece por net, por ejemplo, net5.0 para .NET 5.0.

Para obtener más información, vea El futuro de .NET Standard y Nombres de plataforma de destino en .NET 5.

Motivo del cambio

  • Simplifica el valor de TargetFramework.
  • Permite a los proyectos incluir un objeto TargetPlatform en la propiedad TargetFramework.

Si tiene lógica que analiza el valor de TargetFramework, tendrá que actualizarla. Por ejemplo, la siguiente condición de MSBuild se basa en el valor de TargetFramework.

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

Para este requisito, puede actualizar el código a fin de comparar el identificador de la plataforma de destino.

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

API afectadas

N/D