Delen via


FrameworkReference vervangen door WindowsSdkPackageVersion voor Windows SDK

Vanaf .NET 5.0.8 (waaronder .NET SDK 5.0.302 en .NET SDK 5.0.205), kunnen ontwikkelaars die gericht zijn op Windows, het FrameworkReference item niet gebruiken om hun versie van het windows SDK-doelpakket te overschrijven. De eigenschap WindowsSdkPackageVersion vervangt deze functionaliteit.

Notitie

Het wordt afgeraden de Windows SDK-versie te overschrijven, omdat de Windows SDK-doelpakketten zijn opgenomen in de .NET 5+ SDK. Werk in plaats daarvan uw versie van de .NET SDK bij om te verwijzen naar het nieuwste Windows SDK-pakket.

Ingevoerde versie

.NET SDK 5.0.302, .NET SDK 5.0.205

Vorig gedrag

Ontwikkelaars kunnen het FrameworkReference-item gebruiken om de Windows SDK-pakketversie in .NET 5-toepassingen te overschrijven. Bijvoorbeeld:

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

Nieuw gedrag

De eigenschap WindowsSdkPackageVersion vervangt het gedrag van de FrameworkReference overschrijving. Bijvoorbeeld:

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

Categorie van wijziging

Deze wijziging kan van invloed zijn op bron-compatibiliteit.

Reden voor wijziging

Deze wijziging is geïntroduceerd om het overschrijvingsgedrag van pakketten te vereenvoudigen, gericht op de Windows SDK-pakketten die worden geproduceerd door C#/WinRT.

Verwijder elk gebruik van FrameworkReference in het projectbestand van uw .NET 5+-app wanneer u zich richt op de Windows SDK.

Wanneer u met de Windows App SDK-werkt, moet u mogelijk expliciet de eigenschap WindowsSdkPackageVersion toevoegen als het vereiste Windows SDK-pakket versie niet kan worden omgezet door .NET SDK. Dit probleem kan zich voordoen vanwege verschillende releasemechanismen voor de Windows App SDK en .NET SDK, waarbij de .NET SDK wordt verzonden via Visual Studio. Zie de details in dit GitHub-probleem. U kunt ook overwegen de eigenschap WindowsSdkPackageVersion te verwijderen zodra de vereiste Versie van het Windows SDK-pakket is opgelost door .NET SDK, zodat u over het nieuwste Windows SDK-pakket beschikt. Dit gebeurt meestal nadat Visual Studio een nieuwe versie heeft uitgebracht en u een upgrade naar die versie hebt uitgevoerd.

Getroffen API's

Windows-API's in .NET 5 en nieuwere versies die worden geleverd door het Windows SDK-doelpakket.