FrameworkReference ersätts med WindowsSdkPackageVersion för Windows SDK
Från och med .NET 5.0.8 (som innehåller .NET SDK 5.0.302 och .NET SDK 5.0.205) kan utvecklare som riktar sig till Windows inte använda FrameworkReference
objektet för att åsidosätta sin version av Windows SDK-målpaketet. Egenskapen WindowsSdkPackageVersion
ersätter den här funktionen.
Notera
Vi rekommenderar inte att du åsidosätter Windows SDK-versionen eftersom Windows SDK-målpaketen ingår i .NET 5+ SDK. Uppdatera i stället din version av .NET SDK för att referera till det senaste Windows SDK-paketet.
Version introducerad
.NET SDK 5.0.302, .NET SDK 5.0.205
Tidigare beteende
Utvecklare kan använda det FrameworkReference
objektet för att åsidosätta Windows SDK-paketversionen i .NET 5-program. Till exempel:
<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>
Nytt beteende
Egenskapen WindowsSdkPackageVersion
ersätter beteendet för FrameworkReference
överskrivning. Till exempel:
<PropertyGroup>
<WindowsSdkPackageVersion>10.0.19041.18</WindowsSdkPackageVersion>
</PropertyGroup>
Ändringskategori
Den här ändringen kan påverka källkompatibilitet.
Orsak till ändring
Den här ändringen introducerades för att förenkla funktionen för åsidosättning av paket för att rikta in sig på Windows SDK-paket som produceras av C#/WinRT.
Rekommenderad åtgärd
Ta bort all användning av FrameworkReference
i .NET 5+-appens projektfil när du riktar in dig på Windows SDK.
När du arbetar med Windows App SDKkan du behöva lägga till egenskapen WindowsSdkPackageVersion
uttryckligen om den version av Windows SDK-paket som krävs inte kan lösas av .NET SDK. Det här problemet kan uppstå på grund av olika versionsmekanismer för Windows App SDK och .NET SDK, där .NET SDK levereras via Visual Studio. Se detaljer i det här GitHub-ärendet. Du kan också överväga att ta bort egenskapen WindowsSdkPackageVersion
när den nödvändiga Windows SDK-paketversionen har lösts av .NET SDK, vilket säkerställer att du har det senaste Windows SDK-paketet. Detta inträffar vanligtvis när Visual Studio släpper en ny version och du har uppgraderat till den versionen.
Berörda API:er
Windows-API:er i .NET 5 och senare versioner som tillhandahålls av Windows SDK-målpaketet.