FrameworkReference reemplazado por WindowsSdkPackageVersion para Windows SDK
A partir de .NET 5.0.8 (que incluye el SDK de .NET 5.0.302 y el SDK de .NET 5.0.205), los desarrolladores que tienen como destino Windows no pueden usar el elemento de FrameworkReference
para invalidar su versión del paquete de destino de Windows SDK. La propiedad WindowsSdkPackageVersion
reemplaza esta funcionalidad.
Nota
No se recomienda invalidar la versión de Windows SDK, ya que los paquetes de destino de Windows SDK se incluyen con el SDK de .NET 5+. En su lugar, para hacer referencia al paquete más reciente de Windows SDK, actualice la versión del SDK de .NET.
Versión introducida
SDK de .NET 5.0.302, SDK de .NET 5.0.205
Comportamiento anterior
Los desarrolladores podrían usar el elemento FrameworkReference
para invalidar la versión del paquete de Windows SDK en aplicaciones de .NET 5. Por ejemplo:
<ItemGroup>
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.19041.18" />
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.18" />
</ItemGroup>
Nuevo comportamiento
La propiedad WindowsSdkPackageVersion
reemplaza el comportamiento de la invalidación de FrameworkReference
. Por ejemplo:
<PropertyGroup>
<WindowsSdkPackageVersion>10.0.19041.18</WindowsSdkPackageVersion>
</PropertyGroup>
Categoría de cambio
Este cambio puede afectar a la compatibilidad de origen.
Motivo del cambio
Este cambio se introdujo para simplificar el comportamiento de invalidación de paquetes para dirigirse a los paquetes de Windows SDK generados por C#/WinRT.
Acción recomendada
Quite cualquier uso de FrameworkReference
en el archivo de proyecto de la aplicación de .NET 5+ cuando tenga como destino Windows SDK.
Al trabajar con el SDK de aplicaciones de Windows, es posible que tenga que agregar explícitamente la propiedad WindowsSdkPackageVersion
si la versión del paquete Windows SDK no puede ser resuelta por el SDK de .NET. Este problema puede surgir debido a distintos mecanismos de versión para el SDK de aplicaciones de Windows y el SDK de .NET, donde el SDK de .NET se envía a través de Visual Studio. Consulte los detalles en este problema de GitHub . También puede considerar quitar la propiedad WindowsSdkPackageVersion
una vez que el SDK de .NET haya resuelto la versión necesaria del paquete de Windows SDK, asegurándose de tener el paquete más reciente de Windows SDK. Esto suele ocurrir después de que Visual Studio publique una nueva versión y haya actualizado a esa versión.
APIs afectadas
Las API de Windows en .NET 5 y versiones posteriores que proporciona el paquete de destino de Windows SDK.