Partager via


FrameworkReference remplacé par WindowsSdkPackageVersion pour le Kit de développement logiciel (SDK) Windows

À compter de .NET 5.0.8 (qui inclut le Kit de développement logiciel (SDK) .NET 5.0.302 et le Kit de développement logiciel (SDK) .NET 5.0.205), les développeurs ciblant Windows ne peuvent pas utiliser l’élément FrameworkReference pour remplacer leur version du package de ciblage du Kit de développement logiciel (SDK) Windows. La propriété WindowsSdkPackageVersion remplace cette fonctionnalité.

Remarque

Nous vous déconseillons de remplacer la version du Kit de développement logiciel (SDK) Windows, car les packages de ciblage du Kit de développement logiciel (SDK) Windows sont inclus dans le Kit de développement logiciel (SDK) .NET 5+. Au lieu de cela, pour référencer le dernier package du Kit de développement logiciel (SDK) Windows, mettez à jour votre version du Kit de développement logiciel (SDK) .NET.

Version introduite

SDK .NET 5.0.302, SDK .NET 5.0.205

Comportement précédent

Les développeurs peuvent utiliser l’élément FrameworkReference pour remplacer la version du package du Kit de développement logiciel (SDK) Windows dans les applications .NET 5. Par exemple:

<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>

Nouveau comportement

La propriété WindowsSdkPackageVersion remplace le comportement d’écrasement de FrameworkReference. Par exemple:

<PropertyGroup>
  <WindowsSdkPackageVersion>10.0.19041.18</WindowsSdkPackageVersion>
</PropertyGroup>

Catégorie de modification

Cette modification peut affecter la compatibilité source .

Raison de la modification

Cette modification a été introduite pour simplifier le comportement de substitution de package pour cibler les packages du Kit de Développement Logiciel (SDK) Windows produits par C#/WinRT.

Supprimez toute utilisation de FrameworkReference dans le fichier projet de votre application .NET 5+ lors du ciblage du Kit de développement logiciel (SDK) Windows.

Lorsque vous utilisez le kit sdk d’application Windows , vous devrez peut-être ajouter explicitement la propriété WindowsSdkPackageVersion si le package SDK Windows requis version ne peut pas être résolu par le Kit de développement logiciel (SDK) .NET. Ce problème peut survenir en raison de différents mécanismes de mise en production pour le SDK d’application Windows et le Kit de développement logiciel (SDK) .NET, où le Kit de développement logiciel (SDK) .NET est fourni via Visual Studio. Consultez les détails de ce problème GitHub. Vous pouvez également envisager de supprimer la propriété WindowsSdkPackageVersion une fois que la version requise du package du Kit de développement logiciel (SDK) Windows a été résolue par le Kit de développement logiciel (SDK) .NET, ce qui garantit que vous disposez du dernier package du Kit de développement logiciel (SDK) Windows. Cela se produit généralement après que Visual Studio publie une nouvelle version et que vous avez effectué une mise à niveau vers cette version.

API affectées

API Windows dans .NET 5 (et versions ultérieures) fournies par le package de ciblage du kit SDK Windows.