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 propiedadTargetFramework
.
Acción recomendada
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