Dela via


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.

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.