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.
Aanbevolen actie
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.